From ea53d3a9c282f4c4ad1547b934025acd1db322fc Mon Sep 17 00:00:00 2001 From: Samuel Susla Date: Fri, 1 Oct 2021 17:45:51 -0700 Subject: [PATCH] Pass reference instead of shared_ptr to getInspectorDataForInstance Summary: changelog: [internal] This is a pre-condition to get rid of `shared_ptr` from `EventEmitterWrapper`. Also saves us a few copies of shared_ptr, this is negligible though. Reviewed By: mdvacca Differential Revision: D31307048 fbshipit-source-id: b84654bed2359b66faf3995795e135e88fe51cb6 --- .../src/main/java/com/facebook/react/fabric/jni/Binding.cpp | 2 +- ReactCommon/react/renderer/scheduler/Scheduler.cpp | 2 +- ReactCommon/react/renderer/scheduler/Scheduler.h | 2 +- ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp | 4 ++-- ReactCommon/react/renderer/uimanager/UIManagerBinding.h | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp b/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp index e07977cb8b4..edbe5613e66 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp @@ -244,7 +244,7 @@ Binding::getInspectorDataForInstance( EventEmitterWrapper *cEventEmitter = cthis(eventEmitterWrapper); InspectorData data = - scheduler->getInspectorDataForInstance(cEventEmitter->eventEmitter); + scheduler->getInspectorDataForInstance(*cEventEmitter->eventEmitter); folly::dynamic result = folly::dynamic::object; result["fileName"] = data.fileName; diff --git a/ReactCommon/react/renderer/scheduler/Scheduler.cpp b/ReactCommon/react/renderer/scheduler/Scheduler.cpp index 00d13bcb53a..15cff205ffe 100644 --- a/ReactCommon/react/renderer/scheduler/Scheduler.cpp +++ b/ReactCommon/react/renderer/scheduler/Scheduler.cpp @@ -187,7 +187,7 @@ void Scheduler::registerSurface( } InspectorData Scheduler::getInspectorDataForInstance( - SharedEventEmitter eventEmitter) const noexcept { + EventEmitter const &eventEmitter) const noexcept { return executeSynchronouslyOnSameThread_CAN_DEADLOCK( runtimeExecutor_, [=](jsi::Runtime &runtime) -> InspectorData { auto uiManagerBinding = UIManagerBinding::getBinding(runtime); diff --git a/ReactCommon/react/renderer/scheduler/Scheduler.h b/ReactCommon/react/renderer/scheduler/Scheduler.h index e604c4adaca..32beafc7e9f 100644 --- a/ReactCommon/react/renderer/scheduler/Scheduler.h +++ b/ReactCommon/react/renderer/scheduler/Scheduler.h @@ -52,7 +52,7 @@ class Scheduler final : public UIManagerDelegate { void unregisterSurface(SurfaceHandler const &surfaceHandler) const noexcept; InspectorData getInspectorDataForInstance( - SharedEventEmitter eventEmitter) const noexcept; + EventEmitter const &eventEmitter) const noexcept; void renderTemplateToSurface( SurfaceId surfaceId, diff --git a/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp b/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp index c926765ec85..cbc68035ad8 100644 --- a/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +++ b/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp @@ -131,8 +131,8 @@ static jsi::Value callMethodOfModule( jsi::Value UIManagerBinding::getInspectorDataForInstance( jsi::Runtime &runtime, - SharedEventEmitter eventEmitter) const { - auto eventTarget = eventEmitter->eventTarget_; + EventEmitter const &eventEmitter) const { + auto eventTarget = eventEmitter.eventTarget_; EventEmitter::DispatchMutex().lock(); if (!runtime.global().hasProperty(runtime, "__fbBatchedBridge") || diff --git a/ReactCommon/react/renderer/uimanager/UIManagerBinding.h b/ReactCommon/react/renderer/uimanager/UIManagerBinding.h index 7b160990465..947e3ecf43e 100644 --- a/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +++ b/ReactCommon/react/renderer/uimanager/UIManagerBinding.h @@ -74,7 +74,7 @@ class UIManagerBinding : public jsi::HostObject { jsi::Value getInspectorDataForInstance( jsi::Runtime &runtime, - SharedEventEmitter eventEmitter) const; + EventEmitter const &eventEmitter) const; /* * Stops React Native Surface with given id.