diff --git a/native_engine/impl/ark/ark_native_engine.cpp b/native_engine/impl/ark/ark_native_engine.cpp index 7e5fd80b20813661c2189b7d67190ed6cd0d385f..8ecb25ca7c636f2c924b1c8d4da8cfde01cb29c4 100644 --- a/native_engine/impl/ark/ark_native_engine.cpp +++ b/native_engine/impl/ark/ark_native_engine.cpp @@ -2800,3 +2800,10 @@ bool ArkNativeEngine::ExecuteJsBin(const std::string& fileName, bool checkPath) return ret; // LCOV_EXCL_STOP } + +void *ArkNativeEngine::GetThreadHolder() const +{ + panda::JSExecutionScope executionScope(vm_); + LocalScope scope(vm_); + return JSNApi::GetThreadHolder(vm_); +} diff --git a/native_engine/impl/ark/ark_native_engine.h b/native_engine/impl/ark/ark_native_engine.h index 8101b3b417cbe48791bc50b6f84b7cdc2cc81bb3..48e7b6eec8cb71583281ebfc7c3aa251fd738fd1 100644 --- a/native_engine/impl/ark/ark_native_engine.h +++ b/native_engine/impl/ark/ark_native_engine.h @@ -414,6 +414,8 @@ public: TimerListHead_ = info; } + void *GetThreadHolder() const override; + private: inline NapiOptions *GetNapiOptions() const override { diff --git a/native_engine/native_engine.h b/native_engine/native_engine.h index ca528856ce5198dfa1081c4887daaba248f03ed5..15049993572e4d46be4241f6e74644d78d90e1f7 100644 --- a/native_engine/native_engine.h +++ b/native_engine/native_engine.h @@ -555,6 +555,8 @@ public: return workerThreadState_; } + virtual void *GetThreadHolder() const = 0; + private: void InitUvField();