From 04e0ffdfa5d03e552b1b85a1c06ebc80b2776503 Mon Sep 17 00:00:00 2001 From: Matt Blagden Date: Thu, 4 Aug 2022 14:50:45 -0700 Subject: [PATCH] Make RuntimeAdapter use only HermesRuntime Summary: Changelog: [Internal] Make runtime use more consistent, always using the same undecorated runtime. This prevents the previous mixing of decorated and undecorated runtimes. Reviewed By: jpporto Differential Revision: D38035166 fbshipit-source-id: 81929e42ccc4de6d5c5c09ee7ee31f055af82735 --- .../hermes/executor/HermesExecutorFactory.cpp | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/ReactCommon/hermes/executor/HermesExecutorFactory.cpp b/ReactCommon/hermes/executor/HermesExecutorFactory.cpp index e1ab6c8cdcc..193ad51b8b5 100644 --- a/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +++ b/ReactCommon/hermes/executor/HermesExecutorFactory.cpp @@ -41,12 +41,9 @@ class HermesExecutorRuntimeAdapter : public facebook::hermes::inspector::RuntimeAdapter { public: HermesExecutorRuntimeAdapter( - std::shared_ptr runtime, - HermesRuntime &hermesRuntime, + std::shared_ptr runtime, std::shared_ptr thread) - : runtime_(runtime), - hermesRuntime_(hermesRuntime), - thread_(std::move(thread)) {} + : runtime_(runtime), thread_(std::move(thread)) {} virtual ~HermesExecutorRuntimeAdapter() = default; @@ -55,7 +52,7 @@ class HermesExecutorRuntimeAdapter } debugger::Debugger &getDebugger() override { - return hermesRuntime_.getDebugger(); + return runtime_->getDebugger(); } void tickleJs() override { @@ -69,8 +66,7 @@ class HermesExecutorRuntimeAdapter } private: - std::shared_ptr runtime_; - HermesRuntime &hermesRuntime_; + std::shared_ptr runtime_; std::shared_ptr thread_; }; @@ -160,8 +156,8 @@ class DecoratedRuntime : public jsi::WithRuntimeDecorator { runtime_(std::move(runtime)), hermesRuntime_(hermesRuntime) { #ifdef HERMES_ENABLE_DEBUGGER - auto adapter = std::make_unique( - runtime_, hermesRuntime_, jsQueue); + std::shared_ptr rt(runtime_, &hermesRuntime); + auto adapter = std::make_unique(rt, jsQueue); facebook::hermes::inspector::chrome::enableDebugging( std::move(adapter), "Hermes React Native"); #else @@ -171,7 +167,7 @@ class DecoratedRuntime : public jsi::WithRuntimeDecorator { ~DecoratedRuntime() { #ifdef HERMES_ENABLE_DEBUGGER - facebook::hermes::inspector::chrome::disableDebugging(*runtime_); + facebook::hermes::inspector::chrome::disableDebugging(hermesRuntime_); #endif }