mirror of
https://github.com/status-im/react-native.git
synced 2025-02-05 06:04:15 +00:00
Un-revert logMarker for hermes diff
Reviewed By: mhorowitz Differential Revision: D6051880 fbshipit-source-id: 0ce4bbed9ba8579033ee5397ff6c0975b6886fb1
This commit is contained in:
parent
9877c08855
commit
f3b117abd0
@ -22,6 +22,7 @@ LOCAL_SRC_FILES := \
|
||||
NativeMap.cpp \
|
||||
OnLoad.cpp \
|
||||
ProxyExecutor.cpp \
|
||||
ReactMarker.cpp \
|
||||
ReadableNativeArray.cpp \
|
||||
ReadableNativeMap.cpp \
|
||||
WritableNativeArray.cpp \
|
||||
|
@ -13,6 +13,7 @@
|
||||
|
||||
#include "JSCPerfLogging.h"
|
||||
#include "JSLogging.h"
|
||||
#include "ReactMarker.h"
|
||||
|
||||
using namespace facebook::jni;
|
||||
|
||||
@ -21,53 +22,6 @@ namespace react {
|
||||
|
||||
namespace {
|
||||
|
||||
class JReactMarker : public JavaClass<JReactMarker> {
|
||||
public:
|
||||
static constexpr auto kJavaDescriptor = "Lcom/facebook/react/bridge/ReactMarker;";
|
||||
|
||||
static void logMarker(const std::string& marker) {
|
||||
static auto cls = javaClassStatic();
|
||||
static auto meth = cls->getStaticMethod<void(std::string)>("logMarker");
|
||||
meth(cls, marker);
|
||||
}
|
||||
|
||||
static void logMarker(const std::string& marker, const std::string& tag) {
|
||||
static auto cls = javaClassStatic();
|
||||
static auto meth = cls->getStaticMethod<void(std::string, std::string)>("logMarker");
|
||||
meth(cls, marker, tag);
|
||||
}
|
||||
};
|
||||
|
||||
void logPerfMarker(const ReactMarker::ReactMarkerId markerId, const char* tag) {
|
||||
switch (markerId) {
|
||||
case ReactMarker::RUN_JS_BUNDLE_START:
|
||||
JReactMarker::logMarker("RUN_JS_BUNDLE_START", tag);
|
||||
break;
|
||||
case ReactMarker::RUN_JS_BUNDLE_STOP:
|
||||
JReactMarker::logMarker("RUN_JS_BUNDLE_END", tag);
|
||||
break;
|
||||
case ReactMarker::CREATE_REACT_CONTEXT_STOP:
|
||||
JReactMarker::logMarker("CREATE_REACT_CONTEXT_END");
|
||||
break;
|
||||
case ReactMarker::JS_BUNDLE_STRING_CONVERT_START:
|
||||
JReactMarker::logMarker("loadApplicationScript_startStringConvert");
|
||||
break;
|
||||
case ReactMarker::JS_BUNDLE_STRING_CONVERT_STOP:
|
||||
JReactMarker::logMarker("loadApplicationScript_endStringConvert");
|
||||
break;
|
||||
case ReactMarker::NATIVE_MODULE_SETUP_START:
|
||||
JReactMarker::logMarker("NATIVE_MODULE_SETUP_START", tag);
|
||||
break;
|
||||
case ReactMarker::NATIVE_MODULE_SETUP_STOP:
|
||||
JReactMarker::logMarker("NATIVE_MODULE_SETUP_END", tag);
|
||||
break;
|
||||
case ReactMarker::NATIVE_REQUIRE_START:
|
||||
case ReactMarker::NATIVE_REQUIRE_STOP:
|
||||
// These are not used on Android.
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
ExceptionHandling::ExtractedEror extractJniError(const std::exception& ex, const char *context) {
|
||||
auto jniEx = dynamic_cast<const jni::JniException *>(&ex);
|
||||
if (!jniEx) {
|
||||
@ -126,7 +80,7 @@ namespace detail {
|
||||
|
||||
void injectJSCExecutorAndroidPlatform() {
|
||||
// Inject some behavior into react/
|
||||
ReactMarker::logTaggedMarker = logPerfMarker;
|
||||
JReactMarker::setLogPerfMarkerIfNeeded();
|
||||
ExceptionHandling::platformErrorExtractor = extractJniError;
|
||||
JSCNativeHooks::loggingHook = nativeLoggingHook;
|
||||
JSCNativeHooks::nowHook = nativePerformanceNow;
|
||||
|
@ -13,6 +13,7 @@ EXPORTED_HEADERS = [
|
||||
"NativeArray.h",
|
||||
"NativeCommon.h",
|
||||
"NativeMap.h",
|
||||
"ReactMarker.h",
|
||||
"ReadableNativeArray.h",
|
||||
"ReadableNativeMap.h",
|
||||
"WritableNativeArray.h",
|
||||
|
62
ReactAndroid/src/main/jni/react/jni/ReactMarker.cpp
Normal file
62
ReactAndroid/src/main/jni/react/jni/ReactMarker.cpp
Normal file
@ -0,0 +1,62 @@
|
||||
// Copyright 2004-present Facebook. All Rights Reserved.
|
||||
|
||||
#include "ReactMarker.h"
|
||||
#include <mutex>
|
||||
#include <cxxreact/Platform.h>
|
||||
#include <jschelpers/JSCHelpers.h>
|
||||
#include <fb/fbjni.h>
|
||||
|
||||
namespace facebook {
|
||||
namespace react {
|
||||
|
||||
void JReactMarker::setLogPerfMarkerIfNeeded() {
|
||||
static std::once_flag flag {};
|
||||
std::call_once(flag, [](){
|
||||
ReactMarker::logTaggedMarker = JReactMarker::logPerfMarker;
|
||||
});
|
||||
}
|
||||
|
||||
void JReactMarker::logMarker(const std::string& marker) {
|
||||
static auto cls = javaClassStatic();
|
||||
static auto meth = cls->getStaticMethod<void(std::string)>("logMarker");
|
||||
meth(cls, marker);
|
||||
}
|
||||
|
||||
void JReactMarker::logMarker(const std::string& marker, const std::string& tag) {
|
||||
static auto cls = javaClassStatic();
|
||||
static auto meth = cls->getStaticMethod<void(std::string, std::string)>("logMarker");
|
||||
meth(cls, marker, tag);
|
||||
}
|
||||
|
||||
void JReactMarker::logPerfMarker(const ReactMarker::ReactMarkerId markerId, const char* tag) {
|
||||
switch (markerId) {
|
||||
case ReactMarker::RUN_JS_BUNDLE_START:
|
||||
JReactMarker::logMarker("RUN_JS_BUNDLE_START", tag);
|
||||
break;
|
||||
case ReactMarker::RUN_JS_BUNDLE_STOP:
|
||||
JReactMarker::logMarker("RUN_JS_BUNDLE_END", tag);
|
||||
break;
|
||||
case ReactMarker::CREATE_REACT_CONTEXT_STOP:
|
||||
JReactMarker::logMarker("CREATE_REACT_CONTEXT_END");
|
||||
break;
|
||||
case ReactMarker::JS_BUNDLE_STRING_CONVERT_START:
|
||||
JReactMarker::logMarker("loadApplicationScript_startStringConvert");
|
||||
break;
|
||||
case ReactMarker::JS_BUNDLE_STRING_CONVERT_STOP:
|
||||
JReactMarker::logMarker("loadApplicationScript_endStringConvert");
|
||||
break;
|
||||
case ReactMarker::NATIVE_MODULE_SETUP_START:
|
||||
JReactMarker::logMarker("NATIVE_MODULE_SETUP_START", tag);
|
||||
break;
|
||||
case ReactMarker::NATIVE_MODULE_SETUP_STOP:
|
||||
JReactMarker::logMarker("NATIVE_MODULE_SETUP_END", tag);
|
||||
break;
|
||||
case ReactMarker::NATIVE_REQUIRE_START:
|
||||
case ReactMarker::NATIVE_REQUIRE_STOP:
|
||||
// These are not used on Android.
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
24
ReactAndroid/src/main/jni/react/jni/ReactMarker.h
Normal file
24
ReactAndroid/src/main/jni/react/jni/ReactMarker.h
Normal file
@ -0,0 +1,24 @@
|
||||
// Copyright 2004-present Facebook. All Rights Reserved.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <fb/fbjni.h>
|
||||
#include <cxxreact/Platform.h>
|
||||
|
||||
namespace facebook {
|
||||
namespace react {
|
||||
|
||||
class JReactMarker : public facebook::jni::JavaClass<JReactMarker> {
|
||||
public:
|
||||
static constexpr auto kJavaDescriptor = "Lcom/facebook/react/bridge/ReactMarker;";
|
||||
static void setLogPerfMarkerIfNeeded();
|
||||
|
||||
private:
|
||||
static void logMarker(const std::string& marker);
|
||||
static void logMarker(const std::string& marker, const std::string& tag);
|
||||
static void logPerfMarker(const ReactMarker::ReactMarkerId markerId, const char* tag);
|
||||
};
|
||||
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user