From 70bb6444aad37727def0108242f6a1370a45322a Mon Sep 17 00:00:00 2001 From: Pieter De Baets Date: Tue, 29 Nov 2022 08:29:05 -0800 Subject: [PATCH] Remove iOS TurboModuleManager experiment with shared mutex Summary: Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D41551085 fbshipit-source-id: f4d1d8126529d5f384ada941f6fb140abcfd9716 --- React/Base/RCTBridge.h | 4 --- React/Base/RCTBridge.m | 11 ------- .../platform/ios/RCTTurboModuleManager.mm | 33 ++----------------- 3 files changed, 2 insertions(+), 46 deletions(-) diff --git a/React/Base/RCTBridge.h b/React/Base/RCTBridge.h index 1373eaae2fa942..7733e387635d16 100644 --- a/React/Base/RCTBridge.h +++ b/React/Base/RCTBridge.h @@ -52,10 +52,6 @@ RCT_EXTERN void RCTEnableTurboModule(BOOL enabled); RCT_EXTERN BOOL RCTTurboModuleEagerInitEnabled(void); RCT_EXTERN void RCTEnableTurboModuleEagerInit(BOOL enabled); -// Turn on TurboModule shared mutex initialization -RCT_EXTERN BOOL RCTTurboModuleSharedMutexInitEnabled(void); -RCT_EXTERN void RCTEnableTurboModuleSharedMutexInit(BOOL enabled); - // Turn off TurboModule delegate locking RCT_EXTERN BOOL RCTTurboModuleManagerDelegateLockingDisabled(void); RCT_EXTERN void RCTDisableTurboModuleManagerDelegateLocking(BOOL enabled); diff --git a/React/Base/RCTBridge.m b/React/Base/RCTBridge.m index 531f42edaca330..135bdc263c2fff 100644 --- a/React/Base/RCTBridge.m +++ b/React/Base/RCTBridge.m @@ -108,17 +108,6 @@ void RCTEnableTurboModuleEagerInit(BOOL enabled) turboModuleEagerInitEnabled = enabled; } -static BOOL turboModuleSharedMutexInitEnabled = NO; -BOOL RCTTurboModuleSharedMutexInitEnabled(void) -{ - return turboModuleSharedMutexInitEnabled; -} - -void RCTEnableTurboModuleSharedMutexInit(BOOL enabled) -{ - turboModuleSharedMutexInitEnabled = enabled; -} - // Turn off TurboModule delegate locking static BOOL turboModuleManagerDelegateLockingDisabled = YES; BOOL RCTTurboModuleManagerDelegateLockingDisabled(void) diff --git a/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm b/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm index 90c18409dfe3c4..5b2881bc305e3c 100644 --- a/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +++ b/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm @@ -11,7 +11,6 @@ #import #import #import -#import #import @@ -173,7 +172,6 @@ @implementation RCTTurboModuleManager { std::mutex _turboModuleManagerDelegateMutex; // Enforce synchronous access to _invalidating and _turboModuleHolders - std::shared_timed_mutex _turboModuleHoldersSharedMutex; std::mutex _turboModuleHoldersMutex; std::atomic _invalidating; } @@ -317,23 +315,6 @@ - (void)notifyAboutTurboModuleSetup:(const char *)name - (TurboModuleHolder *)_getOrCreateTurboModuleHolder:(const char *)moduleName { - if (RCTTurboModuleSharedMutexInitEnabled()) { - { - std::shared_lock guard(_turboModuleHoldersSharedMutex); - if (_invalidating) { - return nullptr; - } - - auto it = _turboModuleHolders.find(moduleName); - if (it != _turboModuleHolders.end()) { - return &it->second; - } - } - - std::unique_lock guard(_turboModuleHoldersSharedMutex); - return &_turboModuleHolders[moduleName]; - } - std::lock_guard guard(_turboModuleHoldersMutex); if (_invalidating) { return nullptr; @@ -785,11 +766,6 @@ - (id)moduleForName:(const char *)moduleName warnOnLookupFailure:(BOOL)warnOnLoo - (BOOL)moduleIsInitialized:(const char *)moduleName { - if (RCTTurboModuleSharedMutexInitEnabled()) { - std::shared_lock guard(_turboModuleHoldersSharedMutex); - return _turboModuleHolders.find(moduleName) != _turboModuleHolders.end(); - } - std::unique_lock guard(_turboModuleHoldersMutex); return _turboModuleHolders.find(moduleName) != _turboModuleHolders.end(); } @@ -843,13 +819,8 @@ - (void)invalidate - (void)_enterInvalidatingState { // This should halt all insertions into _turboModuleHolders - if (RCTTurboModuleSharedMutexInitEnabled()) { - std::unique_lock guard(_turboModuleHoldersSharedMutex); - _invalidating = true; - } else { - std::lock_guard guard(_turboModuleHoldersMutex); - _invalidating = true; - } + std::lock_guard guard(_turboModuleHoldersMutex); + _invalidating = true; } - (void)_invalidateModules