diff --git a/React/Fabric/RCTSurfacePresenter.mm b/React/Fabric/RCTSurfacePresenter.mm index 17ca2900ad3..cc16148690f 100644 --- a/React/Fabric/RCTSurfacePresenter.mm +++ b/React/Fabric/RCTSurfacePresenter.mm @@ -271,8 +271,6 @@ static BackgroundExecutor RCTGetBackgroundExecutor() auto weakRuntimeScheduler = _contextContainer->find>("RuntimeScheduler"); auto runtimeScheduler = weakRuntimeScheduler.hasValue() ? weakRuntimeScheduler.value().lock() : nullptr; if (runtimeScheduler) { - runtimeScheduler->setEnableYielding( - reactNativeConfig->getBool("react_native_new_architecture:runtimescheduler_enable_yielding_ios")); runtimeExecutor = [runtimeScheduler](std::function &&callback) { runtimeScheduler->scheduleWork(std::move(callback)); }; 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 d22dfb384e2..c8dde14b528 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 @@ -369,8 +369,6 @@ void Binding::installFabricUIManager( if (runtimeSchedulerHolder) { auto runtimeScheduler = runtimeSchedulerHolder->cthis()->get().lock(); if (runtimeScheduler) { - runtimeScheduler->setEnableYielding(config->getBool( - "react_native_new_architecture:runtimescheduler_enable_yielding_android")); runtimeExecutor = [runtimeScheduler]( std::function &&callback) { diff --git a/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp b/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp index 1ee9160844b..e81c73eb184 100644 --- a/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +++ b/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp @@ -22,19 +22,13 @@ RuntimeScheduler::RuntimeScheduler( void RuntimeScheduler::scheduleWork( std::function callback) const { - if (enableYielding_) { - shouldYield_ = true; - runtimeExecutor_( - [this, callback = std::move(callback)](jsi::Runtime &runtime) { - shouldYield_ = false; - callback(runtime); - startWorkLoop(runtime); - }); - } else { - runtimeExecutor_([callback = std::move(callback)](jsi::Runtime &runtime) { - callback(runtime); - }); - } + shouldYield_ = true; + runtimeExecutor_( + [this, callback = std::move(callback)](jsi::Runtime &runtime) { + shouldYield_ = false; + callback(runtime); + startWorkLoop(runtime); + }); } std::shared_ptr RuntimeScheduler::scheduleTask( @@ -70,10 +64,6 @@ RuntimeSchedulerTimePoint RuntimeScheduler::now() const noexcept { return now_(); } -void RuntimeScheduler::setEnableYielding(bool enableYielding) { - enableYielding_ = enableYielding; -} - void RuntimeScheduler::executeNowOnTheSameThread( std::function callback) { shouldYield_ = true; diff --git a/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h b/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h index a95147825d3..69698689056 100644 --- a/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +++ b/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h @@ -67,8 +67,6 @@ class RuntimeScheduler final { RuntimeSchedulerTimePoint now() const noexcept; - void setEnableYielding(bool enableYielding); - private: mutable std::priority_queue< std::shared_ptr, @@ -101,15 +99,6 @@ class RuntimeScheduler final { */ mutable std::atomic_bool isWorkLoopScheduled_{false}; - /* - * Flag indicating if yielding is enabled. - * - * If set to true and Concurrent Mode is enabled on the surface, - * React Native will ask React to yield in case any work has been scheduled. - * Default value is false - */ - bool enableYielding_{false}; - /* * This flag is set while performing work, to prevent re-entrancy. */ diff --git a/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp b/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp index e828ef03a61..c1068d23412 100644 --- a/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +++ b/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp @@ -323,7 +323,7 @@ TEST_F(RuntimeSchedulerTest, scheduleWork) { EXPECT_FALSE(wasCalled); - EXPECT_FALSE(runtimeScheduler_->getShouldYield()); + EXPECT_TRUE(runtimeScheduler_->getShouldYield()); EXPECT_EQ(stubQueue_->size(), 1); @@ -334,7 +334,6 @@ TEST_F(RuntimeSchedulerTest, scheduleWork) { } TEST_F(RuntimeSchedulerTest, scheduleWorkWithYielding) { - runtimeScheduler_->setEnableYielding(true); bool wasCalled = false; runtimeScheduler_->scheduleWork( [&](jsi::Runtime const &) { wasCalled = true; }); @@ -353,8 +352,6 @@ TEST_F(RuntimeSchedulerTest, scheduleWorkWithYielding) { } TEST_F(RuntimeSchedulerTest, normalTaskYieldsToPlatformEvent) { - runtimeScheduler_->setEnableYielding(true); - bool didRunJavaScriptTask = false; bool didRunPlatformWork = false; @@ -382,8 +379,6 @@ TEST_F(RuntimeSchedulerTest, normalTaskYieldsToPlatformEvent) { } TEST_F(RuntimeSchedulerTest, expiredTaskDoesntYieldToPlatformEvent) { - runtimeScheduler_->setEnableYielding(true); - bool didRunJavaScriptTask = false; bool didRunPlatformWork = false; @@ -412,8 +407,6 @@ TEST_F(RuntimeSchedulerTest, expiredTaskDoesntYieldToPlatformEvent) { } TEST_F(RuntimeSchedulerTest, immediateTaskDoesntYieldToPlatformEvent) { - runtimeScheduler_->setEnableYielding(true); - bool didRunJavaScriptTask = false; bool didRunPlatformWork = false;