Lines Matching refs:jsThread
55 void JSThread::RegisterThread(JSThread *jsThread)
57 Runtime::GetInstance()->RegisterThread(jsThread);
60 currentThread = jsThread;
61 jsThread->UpdateState(ThreadState::NATIVE);
65 void JSThread::UnregisterThread(JSThread *jsThread)
67 if (currentThread == jsThread) {
68 jsThread->UpdateState(ThreadState::TERMINATED);
72 ASSERT(jsThread->GetState() == ThreadState::CREATED);
73 jsThread->UpdateState(ThreadState::TERMINATED);
75 Runtime::GetInstance()->UnregisterThread(jsThread);
81 auto jsThread = new JSThread(vm);
85 jsThread->EnableAsmInterpreter();
88 jsThread->nativeAreaAllocator_ = vm->GetNativeAreaAllocator();
89 jsThread->heapRegionAllocator_ = vm->GetHeapRegionAllocator();
92 jsThread->glueData_.frameBase_ = static_cast<JSTaggedType *>(
94 jsThread->glueData_.currentFrame_ = jsThread->glueData_.frameBase_ + maxStackSize;
95 EcmaInterpreter::InitStackFrame(jsThread);
97 jsThread->glueData_.stackLimit_ = GetAsmStackLimit();
98 jsThread->glueData_.stackStart_ = GetCurrentStackPosition();
99 jsThread->glueData_.isEnableElementsKind_ = vm->IsEnableElementsKind();
100 jsThread->glueData_.isEnableForceIC_ = ecmascript::pgo::PGOProfilerManager::GetInstance()->IsEnableForceIC();
101 jsThread->SetThreadId();
103 RegisterThread(jsThread);
104 return jsThread;