diff --git a/React/CxxBridge/RCTCxxBridge.mm b/React/CxxBridge/RCTCxxBridge.mm index 77bae805a7..24655138be 100644 --- a/React/CxxBridge/RCTCxxBridge.mm +++ b/React/CxxBridge/RCTCxxBridge.mm @@ -136,8 +136,7 @@ static void notifyAboutModuleSetup(RCTPerformanceLogger *performanceLogger, cons static void mapReactMarkerToPerformanceLogger( const ReactMarker::ReactMarkerId markerId, RCTPerformanceLogger *performanceLogger, - const char *tag, - int instanceKey) + const char *tag) { switch (markerId) { case ReactMarker::RUN_JS_BUNDLE_START: @@ -177,13 +176,8 @@ static void registerPerformanceLoggerHooks(RCTPerformanceLogger *performanceLogg { __weak RCTPerformanceLogger *weakPerformanceLogger = performanceLogger; ReactMarker::logTaggedMarker = [weakPerformanceLogger](const ReactMarker::ReactMarkerId markerId, const char *tag) { - mapReactMarkerToPerformanceLogger(markerId, weakPerformanceLogger, tag, 0); + mapReactMarkerToPerformanceLogger(markerId, weakPerformanceLogger, tag); }; - - ReactMarker::logTaggedMarkerWithInstanceKey = - [weakPerformanceLogger](const ReactMarker::ReactMarkerId markerId, const char *tag, const int instanceKey) { - mapReactMarkerToPerformanceLogger(markerId, weakPerformanceLogger, tag, instanceKey); - }; } @interface RCTCxxBridge () diff --git a/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp b/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp index d800091417..994bfad22a 100644 --- a/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp +++ b/ReactAndroid/src/main/jni/react/jni/JReactMarker.cpp @@ -18,8 +18,8 @@ void JReactMarker::setLogPerfMarkerIfNeeded() { static std::once_flag flag{}; std::call_once(flag, []() { ReactMarker::logTaggedMarker = JReactMarker::logPerfMarker; - ReactMarker::logTaggedMarkerWithInstanceKey = - JReactMarker::logPerfMarkerWithInstanceKey; + ReactMarker::logTaggedMarkerBridgeless = + JReactMarker::logPerfMarkerBridgeless; }); } @@ -51,7 +51,15 @@ void JReactMarker::logMarker( void JReactMarker::logPerfMarker( const ReactMarker::ReactMarkerId markerId, const char *tag) { - logPerfMarkerWithInstanceKey(markerId, tag, 0); + const int bridgeInstanceKey = 0; + logPerfMarkerWithInstanceKey(markerId, tag, bridgeInstanceKey); +} + +void JReactMarker::logPerfMarkerBridgeless( + const ReactMarker::ReactMarkerId markerId, + const char *tag) { + const int bridgelessInstanceKey = 1; + logPerfMarkerWithInstanceKey(markerId, tag, bridgelessInstanceKey); } void JReactMarker::logPerfMarkerWithInstanceKey( diff --git a/ReactAndroid/src/main/jni/react/jni/JReactMarker.h b/ReactAndroid/src/main/jni/react/jni/JReactMarker.h index d495daf9ec..d4243d249a 100644 --- a/ReactAndroid/src/main/jni/react/jni/JReactMarker.h +++ b/ReactAndroid/src/main/jni/react/jni/JReactMarker.h @@ -31,6 +31,9 @@ class JReactMarker : public facebook::jni::JavaClass { static void logPerfMarker( const ReactMarker::ReactMarkerId markerId, const char *tag); + static void logPerfMarkerBridgeless( + const ReactMarker::ReactMarkerId markerId, + const char *tag); static void logPerfMarkerWithInstanceKey( const ReactMarker::ReactMarkerId markerId, const char *tag, diff --git a/ReactCommon/cxxreact/ReactMarker.cpp b/ReactCommon/cxxreact/ReactMarker.cpp index 1f9ce2bb5f..c5dcf27530 100644 --- a/ReactCommon/cxxreact/ReactMarker.cpp +++ b/ReactCommon/cxxreact/ReactMarker.cpp @@ -17,7 +17,7 @@ namespace ReactMarker { #endif LogTaggedMarker logTaggedMarker = nullptr; -LogTaggedMarkerWithInstanceKey logTaggedMarkerWithInstanceKey = nullptr; +LogTaggedMarker logTaggedMarkerBridgeless = nullptr; #if __clang__ #pragma clang diagnostic pop @@ -27,6 +27,10 @@ void logMarker(const ReactMarkerId markerId) { logTaggedMarker(markerId, nullptr); } +void logMarkerBridgeless(const ReactMarkerId markerId) { + logTaggedMarkerBridgeless(markerId, nullptr); +} + } // namespace ReactMarker } // namespace react } // namespace facebook diff --git a/ReactCommon/cxxreact/ReactMarker.h b/ReactCommon/cxxreact/ReactMarker.h index 875f7b29d3..a4d83533b0 100644 --- a/ReactCommon/cxxreact/ReactMarker.h +++ b/ReactCommon/cxxreact/ReactMarker.h @@ -33,25 +33,24 @@ enum ReactMarkerId { #ifdef __APPLE__ using LogTaggedMarker = + std::function; // Bridge only +using LogTaggedMarkerBridgeless = std::function; -using LogTaggedMarkerWithInstanceKey = std::function< - void(const ReactMarkerId, const char *tag, const int instanceKey)>; #else -typedef void (*LogTaggedMarker)(const ReactMarkerId, const char *tag); -typedef void (*LogTaggedMarkerWithInstanceKey)( - const ReactMarkerId, - const char *tag, - const int instanceKey); +typedef void ( + *LogTaggedMarker)(const ReactMarkerId, const char *tag); // Bridge only +typedef void (*LogTaggedMarkerBridgeless)(const ReactMarkerId, const char *tag); #endif #ifndef RN_EXPORT #define RN_EXPORT __attribute__((visibility("default"))) #endif -extern RN_EXPORT LogTaggedMarker logTaggedMarker; -extern RN_EXPORT LogTaggedMarkerWithInstanceKey logTaggedMarkerWithInstanceKey; +extern RN_EXPORT LogTaggedMarker logTaggedMarker; // Bridge only +extern RN_EXPORT LogTaggedMarker logTaggedMarkerBridgeless; -extern RN_EXPORT void logMarker(const ReactMarkerId markerId); +extern RN_EXPORT void logMarker(const ReactMarkerId markerId); // Bridge only +extern RN_EXPORT void logMarkerBridgeless(const ReactMarkerId markerId); } // namespace ReactMarker } // namespace react