Cleanup Platform
Reviewed By: dcaspi Differential Revision: D5185504 fbshipit-source-id: 4f7e9f9068598418b346a7370f6be241a0784b60
This commit is contained in:
parent
f7c89b4187
commit
81c2f3b189
|
@ -48,7 +48,7 @@ JSValueRef nativePerformanceNow(
|
||||||
|
|
||||||
void RCTPrepareJSCExecutor() {
|
void RCTPrepareJSCExecutor() {
|
||||||
ReactMarker::logTaggedMarker = [](const ReactMarker::ReactMarkerId, const char *tag) {};
|
ReactMarker::logTaggedMarker = [](const ReactMarker::ReactMarkerId, const char *tag) {};
|
||||||
PerfLogging::installNativeHooks = RCTFBQuickPerformanceLoggerConfigureHooks;
|
JSCNativeHooks::loggingHook = nativeLoggingHook;
|
||||||
JSNativeHooks::loggingHook = nativeLoggingHook;
|
JSCNativeHooks::nowHook = nativePerformanceNow;
|
||||||
JSNativeHooks::nowHook = nativePerformanceNow;
|
JSCNativeHooks::installPerfHooks = RCTFBQuickPerformanceLoggerConfigureHooks;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,30 +1,31 @@
|
||||||
// Copyright 2004-present Facebook. All Rights Reserved.
|
// Copyright 2004-present Facebook. All Rights Reserved.
|
||||||
|
|
||||||
#include <folly/dynamic.h>
|
#include <string>
|
||||||
#include <fb/fbjni.h>
|
|
||||||
#include <fb/glog_init.h>
|
|
||||||
#include <fb/log.h>
|
|
||||||
#include <cxxreact/Executor.h>
|
#include <cxxreact/Executor.h>
|
||||||
#include <cxxreact/JSCExecutor.h>
|
#include <cxxreact/JSCExecutor.h>
|
||||||
#include <cxxreact/Platform.h>
|
#include <cxxreact/Platform.h>
|
||||||
|
#include <jschelpers/JSCHelpers.h>
|
||||||
|
#include <fb/fbjni.h>
|
||||||
|
#include <fb/glog_init.h>
|
||||||
|
#include <fb/log.h>
|
||||||
|
#include <folly/dynamic.h>
|
||||||
#include <jschelpers/Value.h>
|
#include <jschelpers/Value.h>
|
||||||
|
|
||||||
#include "CatalystInstanceImpl.h"
|
#include "CatalystInstanceImpl.h"
|
||||||
#include "CxxModuleWrapper.h"
|
#include "CxxModuleWrapper.h"
|
||||||
#include "JavaScriptExecutorHolder.h"
|
#include "JavaScriptExecutorHolder.h"
|
||||||
#include "JSCPerfLogging.h"
|
|
||||||
#include "ProxyExecutor.h"
|
|
||||||
#include "JCallback.h"
|
#include "JCallback.h"
|
||||||
|
#include "JSCPerfLogging.h"
|
||||||
#include "JSLogging.h"
|
#include "JSLogging.h"
|
||||||
|
#include "ProxyExecutor.h"
|
||||||
|
#include "WritableNativeArray.h"
|
||||||
|
#include "WritableNativeMap.h"
|
||||||
|
|
||||||
#ifdef WITH_INSPECTOR
|
#ifdef WITH_INSPECTOR
|
||||||
#include "JInspector.h"
|
#include "JInspector.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "WritableNativeMap.h"
|
|
||||||
#include "WritableNativeArray.h"
|
|
||||||
|
|
||||||
#include <string>
|
|
||||||
|
|
||||||
using namespace facebook::jni;
|
using namespace facebook::jni;
|
||||||
|
|
||||||
namespace facebook {
|
namespace facebook {
|
||||||
|
@ -32,6 +33,7 @@ namespace react {
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
|
// TODO: can we avoid these wrapper classes, and instead specialize the logic in CatalystInstanceImpl
|
||||||
class JSCJavaScriptExecutorHolder : public HybridClass<JSCJavaScriptExecutorHolder,
|
class JSCJavaScriptExecutorHolder : public HybridClass<JSCJavaScriptExecutorHolder,
|
||||||
JavaScriptExecutorHolder> {
|
JavaScriptExecutorHolder> {
|
||||||
public:
|
public:
|
||||||
|
@ -151,19 +153,15 @@ extern "C" JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) {
|
||||||
gloginit::initialize();
|
gloginit::initialize();
|
||||||
// Inject some behavior into react/
|
// Inject some behavior into react/
|
||||||
ReactMarker::logTaggedMarker = logPerfMarker;
|
ReactMarker::logTaggedMarker = logPerfMarker;
|
||||||
PerfLogging::installNativeHooks = addNativePerfLoggingHooks;
|
JSCNativeHooks::loggingHook = nativeLoggingHook;
|
||||||
JSNativeHooks::loggingHook = nativeLoggingHook;
|
JSCNativeHooks::nowHook = nativePerformanceNow;
|
||||||
JSNativeHooks::nowHook = nativePerformanceNow;
|
JSCNativeHooks::installPerfHooks = addNativePerfLoggingHooks;
|
||||||
JSCJavaScriptExecutorHolder::registerNatives();
|
JSCJavaScriptExecutorHolder::registerNatives();
|
||||||
ProxyJavaScriptExecutorHolder::registerNatives();
|
ProxyJavaScriptExecutorHolder::registerNatives();
|
||||||
CatalystInstanceImpl::registerNatives();
|
CatalystInstanceImpl::registerNatives();
|
||||||
CxxModuleWrapperBase::registerNatives();
|
CxxModuleWrapperBase::registerNatives();
|
||||||
CxxModuleWrapper::registerNatives();
|
CxxModuleWrapper::registerNatives();
|
||||||
JCxxCallbackImpl::registerNatives();
|
JCxxCallbackImpl::registerNatives();
|
||||||
#ifdef WITH_INSPECTOR
|
|
||||||
JInspector::registerNatives();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
NativeArray::registerNatives();
|
NativeArray::registerNatives();
|
||||||
ReadableNativeArray::registerNatives();
|
ReadableNativeArray::registerNatives();
|
||||||
WritableNativeArray::registerNatives();
|
WritableNativeArray::registerNatives();
|
||||||
|
@ -171,7 +169,11 @@ extern "C" JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) {
|
||||||
ReadableNativeMap::registerNatives();
|
ReadableNativeMap::registerNatives();
|
||||||
WritableNativeMap::registerNatives();
|
WritableNativeMap::registerNatives();
|
||||||
ReadableNativeMapKeySetIterator::registerNatives();
|
ReadableNativeMapKeySetIterator::registerNatives();
|
||||||
|
|
||||||
|
#ifdef WITH_INSPECTOR
|
||||||
|
JInspector::registerNatives();
|
||||||
|
#endif
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
}}
|
} }
|
||||||
|
|
|
@ -226,8 +226,8 @@ void JSCExecutor::initOnJSVMThread() throw(JSException) {
|
||||||
installNativeHook<&JSCExecutor::nativeFlushQueueImmediate>("nativeFlushQueueImmediate");
|
installNativeHook<&JSCExecutor::nativeFlushQueueImmediate>("nativeFlushQueueImmediate");
|
||||||
installNativeHook<&JSCExecutor::nativeCallSyncHook>("nativeCallSyncHook");
|
installNativeHook<&JSCExecutor::nativeCallSyncHook>("nativeCallSyncHook");
|
||||||
|
|
||||||
installGlobalFunction(m_context, "nativeLoggingHook", JSNativeHooks::loggingHook);
|
installGlobalFunction(m_context, "nativeLoggingHook", JSCNativeHooks::loggingHook);
|
||||||
installGlobalFunction(m_context, "nativePerformanceNow", JSNativeHooks::nowHook);
|
installGlobalFunction(m_context, "nativePerformanceNow", JSCNativeHooks::nowHook);
|
||||||
|
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
installGlobalFunction(m_context, "nativeInjectHMRUpdate", nativeInjectHMRUpdate);
|
installGlobalFunction(m_context, "nativeInjectHMRUpdate", nativeInjectHMRUpdate);
|
||||||
|
@ -242,7 +242,7 @@ void JSCExecutor::initOnJSVMThread() throw(JSException) {
|
||||||
addNativeTracingLegacyHooks(m_context);
|
addNativeTracingLegacyHooks(m_context);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
PerfLogging::installNativeHooks(m_context);
|
JSCNativeHooks::installPerfHooks(m_context);
|
||||||
|
|
||||||
#if defined(__APPLE__) || defined(WITH_JSC_EXTRA_TRACING)
|
#if defined(__APPLE__) || defined(WITH_JSC_EXTRA_TRACING)
|
||||||
if (JSC_JSSamplingProfilerEnabled(m_context)) {
|
if (JSC_JSSamplingProfilerEnabled(m_context)) {
|
||||||
|
|
|
@ -11,20 +11,20 @@ namespace react {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace ReactMarker {
|
namespace ReactMarker {
|
||||||
LogTaggedMarker logTaggedMarker = nullptr;
|
|
||||||
|
|
||||||
|
LogTaggedMarker logTaggedMarker = nullptr;
|
||||||
void logMarker(const ReactMarkerId markerId) {
|
void logMarker(const ReactMarkerId markerId) {
|
||||||
logTaggedMarker(markerId, nullptr);
|
logTaggedMarker(markerId, nullptr);
|
||||||
}
|
}
|
||||||
};
|
|
||||||
|
|
||||||
namespace PerfLogging {
|
}
|
||||||
InstallNativeHooks installNativeHooks = nullptr;
|
|
||||||
};
|
namespace JSCNativeHooks {
|
||||||
|
|
||||||
namespace JSNativeHooks {
|
|
||||||
Hook loggingHook = nullptr;
|
Hook loggingHook = nullptr;
|
||||||
Hook nowHook = nullptr;
|
Hook nowHook = nullptr;
|
||||||
|
ConfigurationHook installPerfHooks = nullptr;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if __clang__
|
#if __clang__
|
||||||
|
|
|
@ -14,6 +14,7 @@ namespace facebook {
|
||||||
namespace react {
|
namespace react {
|
||||||
|
|
||||||
namespace ReactMarker {
|
namespace ReactMarker {
|
||||||
|
|
||||||
enum ReactMarkerId {
|
enum ReactMarkerId {
|
||||||
NATIVE_REQUIRE_START,
|
NATIVE_REQUIRE_START,
|
||||||
NATIVE_REQUIRE_STOP,
|
NATIVE_REQUIRE_STOP,
|
||||||
|
@ -29,23 +30,23 @@ extern LogTaggedMarker logTaggedMarker;
|
||||||
|
|
||||||
extern void logMarker(const ReactMarkerId markerId);
|
extern void logMarker(const ReactMarkerId markerId);
|
||||||
|
|
||||||
};
|
}
|
||||||
|
|
||||||
namespace PerfLogging {
|
namespace JSCNativeHooks {
|
||||||
using InstallNativeHooks = std::function<void(JSGlobalContextRef)>;
|
|
||||||
extern InstallNativeHooks installNativeHooks;
|
using Hook = JSValueRef(*)(
|
||||||
};
|
JSContextRef ctx,
|
||||||
|
JSObjectRef function,
|
||||||
|
JSObjectRef thisObject,
|
||||||
|
size_t argumentCount,
|
||||||
|
const JSValueRef arguments[],
|
||||||
|
JSValueRef *exception);
|
||||||
|
extern Hook loggingHook;
|
||||||
|
extern Hook nowHook;
|
||||||
|
|
||||||
|
using ConfigurationHook = std::function<void(JSGlobalContextRef)>;
|
||||||
|
extern ConfigurationHook installPerfHooks;
|
||||||
|
|
||||||
namespace JSNativeHooks {
|
|
||||||
using Hook = JSValueRef (*) (
|
|
||||||
JSContextRef ctx,
|
|
||||||
JSObjectRef function,
|
|
||||||
JSObjectRef thisObject,
|
|
||||||
size_t argumentCount,
|
|
||||||
const JSValueRef arguments[],
|
|
||||||
JSValueRef *exception);
|
|
||||||
extern Hook loggingHook;
|
|
||||||
extern Hook nowHook;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} }
|
} }
|
||||||
|
|
Loading…
Reference in New Issue