Lines Matching refs:vm

161     auto vm = thread->GetEcmaVM();
162 if (vm->IsCollectingScopeLockStats()) {
163 vm->IncreaseStringTableLockCount();
178 EcmaString *EcmaStringTable::GetOrInternString(EcmaVM *vm, const JSHandle<EcmaString> &firstString,
182 bool signalState = vm->GetJsDebuggerManager()->GetSignalState();
183 thread = signalState ? vm->GetJSThreadNoCheck() : vm->GetJSThread();
184 auto firstFlat = JSHandle<EcmaString>(thread, EcmaStringAccessor::Flatten(vm, firstString));
185 auto secondFlat = JSHandle<EcmaString>(thread, EcmaStringAccessor::Flatten(vm, secondString));
197 EcmaVM *vm = thread->GetEcmaVM();
198 auto firstFlat = JSHandle<EcmaString>(thread, EcmaStringAccessor::Flatten(vm, firstString));
199 auto secondFlat = JSHandle<EcmaString>(thread, EcmaStringAccessor::Flatten(vm, secondString));
201 if (vm->IsCollectingScopeLockStats()) {
202 vm->IncreaseStringTableLockCount();
210 EcmaStringAccessor::Concat(vm, firstFlat, secondFlat, MemSpaceType::SHARED_OLD_SPACE));
211 EcmaString *concatString = EcmaStringAccessor::Flatten(vm, concatHandle, MemSpaceType::SHARED_OLD_SPACE);
217 EcmaString *EcmaStringTable::GetOrInternString(EcmaVM *vm, const uint8_t *utf8Data, uint32_t utf8Len,
221 if (vm->GetJsDebuggerManager()->GetSignalState()) {
222 return GetOrInternStringWithoutLock(vm, utf8Data, utf8Len, canBeCompress, hashcode);
224 RuntimeLockHolder locker(vm->GetJSThread(), stringTable_[GetTableId(hashcode)].mutex_);
225 return GetOrInternStringWithoutLock(vm, utf8Data, utf8Len, canBeCompress, hashcode);
229 EcmaString *EcmaStringTable::GetOrInternStringWithoutLock(EcmaVM *vm, const uint8_t *utf8Data,
233 if (vm->IsCollectingScopeLockStats()) {
234 vm->IncreaseStringTableLockCount();
243 EcmaStringAccessor::CreateFromUtf8(vm, utf8Data, utf8Len, canBeCompress, MemSpaceType::SHARED_OLD_SPACE);
249 EcmaString *EcmaStringTable::GetOrInternCompressedSubString(EcmaVM *vm, const JSHandle<EcmaString> &string,
254 RuntimeLockHolder locker(vm->GetJSThread(), stringTable_[GetTableId(hashcode)].mutex_);
256 if (vm->IsCollectingScopeLockStats()) {
257 vm->IncreaseStringTableLockCount();
268 vm, string, offset, utf8Len, MemSpaceType::SHARED_OLD_SPACE);
278 EcmaString *EcmaStringTable::CreateAndInternStringNonMovable(EcmaVM *vm, const uint8_t *utf8Data, uint32_t utf8Len)
281 RuntimeLockHolder locker(vm->GetJSThread(), stringTable_[GetTableId(hashcode)].mutex_);
283 if (vm->IsCollectingScopeLockStats()) {
284 vm->IncreaseStringTableLockCount();
291 EcmaString *str = EcmaStringAccessor::CreateFromUtf8(vm, utf8Data, utf8Len, true, MemSpaceType::SHARED_NON_MOVABLE);
301 EcmaString *EcmaStringTable::CreateAndInternStringReadOnly(EcmaVM *vm, const uint8_t *utf8Data, uint32_t utf8Len,
305 RuntimeLockHolder locker(vm->GetJSThread(), stringTable_[GetTableId(hashcode)].mutex_);
307 if (vm->IsCollectingScopeLockStats()) {
308 vm->IncreaseStringTableLockCount();
315 EcmaString *str = EcmaStringAccessor::CreateFromUtf8(vm, utf8Data, utf8Len, canBeCompress,
322 EcmaString *EcmaStringTable::GetOrInternString(EcmaVM *vm, const uint16_t *utf16Data, uint32_t utf16Len,
326 RuntimeLockHolder locker(vm->GetJSThread(), stringTable_[GetTableId(hashcode)].mutex_);
328 if (vm->IsCollectingScopeLockStats()) {
329 vm->IncreaseStringTableLockCount();
338 EcmaStringAccessor::CreateFromUtf16(vm, utf16Data, utf16Len, canBeCompress, MemSpaceType::SHARED_OLD_SPACE);
344 EcmaString *EcmaStringTable::GetOrInternString(EcmaVM *vm, EcmaString *string)
349 auto thread = vm->GetJSThread();
352 auto strFlat = EcmaStringAccessor::Flatten(vm, strHandle, MemSpaceType::SHARED_OLD_SPACE);
361 if (vm->IsCollectingScopeLockStats()) {
362 vm->IncreaseStringTableLockCount();
375 EcmaString *EcmaStringTable::GetOrInternStringThreadUnsafe(EcmaVM *vm, EcmaString *string)
380 JSHandle<EcmaString> strHandle(vm->GetJSThread(), string);
381 EcmaString *strFlat = EcmaStringAccessor::Flatten(vm, strHandle, MemSpaceType::SHARED_OLD_SPACE);
405 EcmaString *EcmaStringTable::InsertStringToTable(EcmaVM *vm, const JSHandle<EcmaString> &strHandle)
407 auto strFlat = EcmaStringAccessor::Flatten(vm, strHandle, MemSpaceType::SHARED_OLD_SPACE);
408 JSHandle<EcmaString> strFlatHandle(vm->GetJSThread(), strFlat);
410 RuntimeLockHolder locker(vm->GetJSThread(), stringTable_[GetTableId(hashcode)].mutex_);
412 if (vm->IsCollectingScopeLockStats()) {
413 vm->IncreaseStringTableLockCount();
426 auto vm = thread->GetEcmaVM();
427 if (vm->IsCollectingScopeLockStats()) {
428 vm->IncreaseStringTableLockCount();
434 EcmaString *EcmaStringTable::GetOrInternStringWithSpaceType(EcmaVM *vm, const uint8_t *utf8Data, uint32_t utf8Len,
440 RuntimeLockHolder locker(vm->GetJSThread(), stringTable_[GetTableId(hashcode)].mutex_);
442 if (vm->IsCollectingScopeLockStats()) {
443 vm->IncreaseStringTableLockCount();
454 str = EcmaStringAccessor::CreateFromUtf8(vm, utf8Data, utf8Len, canBeCompress, type, isConstantString,
457 str = EcmaStringAccessor::CreateFromUtf8(vm, utf8Data, utf8Len, canBeCompress, type);
464 EcmaString *EcmaStringTable::GetOrInternStringWithSpaceType(EcmaVM *vm, const uint8_t *utf8Data, uint32_t utf16Len,
469 EcmaString *str = EcmaStringAccessor::CreateUtf16StringFromUtf8(vm, utf8Data, utf16Len, type);
470 JSHandle<EcmaString> stringHandle(vm->GetJSThread(), str);
472 RuntimeLockHolder locker(vm->GetJSThread(), stringTable_[GetTableId(hashcode)].mutex_);
474 if (vm->IsCollectingScopeLockStats()) {
475 vm->IncreaseStringTableLockCount();
488 EcmaString *EcmaStringTable::GetOrInternStringWithSpaceTypeWithoutJSHandle(EcmaVM *vm, const uint8_t *utf8Data,
496 RuntimeLockHolder locker(vm->GetJSThread(), stringTable_[GetTableId(hashcode)].mutex_);
498 if (vm->IsCollectingScopeLockStats()) {
499 vm->IncreaseStringTableLockCount();
506 EcmaString *str = EcmaStringAccessor::CreateFromUtf16(vm, u16Buffer.data(), utf16Len, false, type);
541 void EcmaStringTable::RelocateConstantData(EcmaVM *vm, const JSPandaFile *jsPandaFile)
544 if (vm->IsCollectingScopeLockStats()) {
545 vm->IncreaseStringTableLockCount();
548 auto thread = vm->GetJSThread();
572 it->second = *(vm->GetFactory()->GetEmptyString());
575 JSMutableHandle<ByteArray> newData(vm->GetJSThread(), JSTaggedValue::Undefined());
576 newData.Update(vm->GetFactory()->NewByteArray(
590 auto vm = thread->GetEcmaVM();
591 if (vm->IsCollectingScopeLockStats()) {
592 vm->IncreaseStringTableLockCount();