mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Ship bridge RuntimeExecutor JSIExecutor flushing
Summary: The RuntimeExecutor that Fabric gets from the bridge doesn't call JSIExecutor::flush(). In the legacy NativeModule system, we're supposed to flush the queue of NativeModule calls after every call into JavaScript. The lack of this flushing means that we execute NativeModule calls less frequently with Fabric enabled, and TurboModules disabled. It also means that [the microtask checkpoints we placed inside JSIExecutor::flush()](https://www.internalfb.com/code/fbsource/[62f69606ae81530f7d6f0cba8466ac604934c901]/xplat/js/react-native-github/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp?lines=427%2C445) won't be executed as frequently, with Fabric enabled. Changelog: [Android][Fixed] - Flush NativeModule calls with Fabric on Android, on every Native -> JS call. Reviewed By: JoshuaGross, mdvacca Differential Revision: D28620982 fbshipit-source-id: ae4d1c16c62b6d4a5089e63104ad97f4ed44c440
This commit is contained in:
committed by
Facebook GitHub Bot
parent
502b819049
commit
281daf1222
@@ -549,12 +549,7 @@ public class CatalystInstanceImpl implements CatalystInstance {
|
||||
return mJavaScriptContextHolder;
|
||||
}
|
||||
|
||||
@Override
|
||||
public RuntimeExecutor getRuntimeExecutor() {
|
||||
return getRuntimeExecutor(ReactFeatureFlags.enableRuntimeExecutorFlushing());
|
||||
}
|
||||
|
||||
public native RuntimeExecutor getRuntimeExecutor(boolean shouldFlush);
|
||||
public native RuntimeExecutor getRuntimeExecutor();
|
||||
|
||||
@Override
|
||||
public void addJSIModules(List<JSIModuleSpec> jsiModules) {
|
||||
|
||||
Reference in New Issue
Block a user