diff --git a/React/Fabric/RCTSurfacePresenter.mm b/React/Fabric/RCTSurfacePresenter.mm index 65e4c0095e6..df612c2bbad 100644 --- a/React/Fabric/RCTSurfacePresenter.mm +++ b/React/Fabric/RCTSurfacePresenter.mm @@ -289,7 +289,6 @@ static BackgroundExecutor RCTGetBackgroundExecutor() auto weakRuntimeScheduler = _contextContainer->find>("RuntimeScheduler"); auto runtimeScheduler = weakRuntimeScheduler.has_value() ? weakRuntimeScheduler.value().lock() : nullptr; if (runtimeScheduler) { - runtimeScheduler->setEnableYielding(true); 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 491288cd68d..2bf1708a9e1 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 @@ -401,8 +401,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 b12c4e390d0..fd041aca8a4 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_) { - runtimeAccessRequests_ += 1; - runtimeExecutor_( - [this, callback = std::move(callback)](jsi::Runtime &runtime) { - runtimeAccessRequests_ -= 1; - callback(runtime); - startWorkLoop(runtime); - }); - } else { - runtimeExecutor_([callback = std::move(callback)](jsi::Runtime &runtime) { - callback(runtime); - }); - } + runtimeAccessRequests_ += 1; + runtimeExecutor_( + [this, callback = std::move(callback)](jsi::Runtime &runtime) { + runtimeAccessRequests_ -= 1; + 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) { runtimeAccessRequests_ += 1; diff --git a/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h b/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h index f55d505221c..96dce49a47f 100644 --- a/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +++ b/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h @@ -105,7 +105,6 @@ class RuntimeScheduler final { * Thread synchronization must be enforced externally. */ void callExpiredTasks(jsi::Runtime &runtime); - void setEnableYielding(bool enableYielding); private: mutable std::priority_queue< @@ -144,15 +143,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 cc1603c06f6..d5561e04749 100644 --- a/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +++ b/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp @@ -43,7 +43,6 @@ class RuntimeSchedulerTest : public testing::Test { runtimeScheduler_ = std::make_unique(runtimeExecutor, stubNow); - runtimeScheduler_->setEnableYielding(true); } jsi::Function createHostFunctionFromLambda( @@ -317,24 +316,6 @@ TEST_F(RuntimeSchedulerTest, getCurrentPriorityLevel) { SchedulerPriority::NormalPriority); } -TEST_F(RuntimeSchedulerTest, scheduleWork) { - runtimeScheduler_->setEnableYielding(false); - bool wasCalled = false; - runtimeScheduler_->scheduleWork( - [&](jsi::Runtime const &) { wasCalled = true; }); - - EXPECT_FALSE(wasCalled); - - EXPECT_FALSE(runtimeScheduler_->getShouldYield()); - - EXPECT_EQ(stubQueue_->size(), 1); - - stubQueue_->tick(); - - EXPECT_TRUE(wasCalled); - EXPECT_EQ(stubQueue_->size(), 0); -} - TEST_F(RuntimeSchedulerTest, scheduleWorkWithYielding) { bool wasCalled = false; runtimeScheduler_->scheduleWork(