Skip to content

Commit

Permalink
Remove iOS TurboModuleManager experiment with shared mutex
Browse files Browse the repository at this point in the history
Summary: Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D41551085

fbshipit-source-id: f4d1d8126529d5f384ada941f6fb140abcfd9716
  • Loading branch information
javache authored and facebook-github-bot committed Nov 29, 2022
1 parent 229a1de commit 70bb644
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 46 deletions.
4 changes: 0 additions & 4 deletions React/Base/RCTBridge.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
11 changes: 0 additions & 11 deletions React/Base/RCTBridge.m
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
#import <cassert>
#import <condition_variable>
#import <mutex>
#import <shared_mutex>

#import <objc/runtime.h>

Expand Down Expand Up @@ -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<bool> _invalidating;
}
Expand Down Expand Up @@ -317,23 +315,6 @@ - (void)notifyAboutTurboModuleSetup:(const char *)name

- (TurboModuleHolder *)_getOrCreateTurboModuleHolder:(const char *)moduleName
{
if (RCTTurboModuleSharedMutexInitEnabled()) {
{
std::shared_lock<std::shared_timed_mutex> guard(_turboModuleHoldersSharedMutex);
if (_invalidating) {
return nullptr;
}

auto it = _turboModuleHolders.find(moduleName);
if (it != _turboModuleHolders.end()) {
return &it->second;
}
}

std::unique_lock<std::shared_timed_mutex> guard(_turboModuleHoldersSharedMutex);
return &_turboModuleHolders[moduleName];
}

std::lock_guard<std::mutex> guard(_turboModuleHoldersMutex);
if (_invalidating) {
return nullptr;
Expand Down Expand Up @@ -785,11 +766,6 @@ - (id)moduleForName:(const char *)moduleName warnOnLookupFailure:(BOOL)warnOnLoo

- (BOOL)moduleIsInitialized:(const char *)moduleName
{
if (RCTTurboModuleSharedMutexInitEnabled()) {
std::shared_lock<std::shared_timed_mutex> guard(_turboModuleHoldersSharedMutex);
return _turboModuleHolders.find(moduleName) != _turboModuleHolders.end();
}

std::unique_lock<std::mutex> guard(_turboModuleHoldersMutex);
return _turboModuleHolders.find(moduleName) != _turboModuleHolders.end();
}
Expand Down Expand Up @@ -843,13 +819,8 @@ - (void)invalidate
- (void)_enterInvalidatingState
{
// This should halt all insertions into _turboModuleHolders
if (RCTTurboModuleSharedMutexInitEnabled()) {
std::unique_lock<std::shared_timed_mutex> guard(_turboModuleHoldersSharedMutex);
_invalidating = true;
} else {
std::lock_guard<std::mutex> guard(_turboModuleHoldersMutex);
_invalidating = true;
}
std::lock_guard<std::mutex> guard(_turboModuleHoldersMutex);
_invalidating = true;
}

- (void)_invalidateModules
Expand Down

0 comments on commit 70bb644

Please sign in to comment.