diff options
| author | tyler <tyler@brainiumstudios.com> | 2019-04-30 18:24:38 -0700 |
|---|---|---|
| committer | tyler <tyler@brainiumstudios.com> | 2019-05-15 07:30:33 -0700 |
| commit | 7acfb99adc013d4b77c611cfc51bade551205f5a (patch) | |
| tree | 59461cea814349005ab153ae4ebb218f0b9441eb /src/libstd/sys/unix | |
| parent | 430a091cd80c0e4b6bf44f6a19463a832e566f97 (diff) | |
| download | rust-7acfb99adc013d4b77c611cfc51bade551205f5a.tar.gz rust-7acfb99adc013d4b77c611cfc51bade551205f5a.zip | |
Revert "ensure fast thread local lookups occur once per access on macos"
This reverts commit d252f3b77f3b7d4cd59620588f9d026633c05816.
Diffstat (limited to 'src/libstd/sys/unix')
| -rw-r--r-- | src/libstd/sys/unix/fast_thread_local.rs | 17 |
1 files changed, 0 insertions, 17 deletions
diff --git a/src/libstd/sys/unix/fast_thread_local.rs b/src/libstd/sys/unix/fast_thread_local.rs index 28fb9800541..c34c2e6e786 100644 --- a/src/libstd/sys/unix/fast_thread_local.rs +++ b/src/libstd/sys/unix/fast_thread_local.rs @@ -82,20 +82,3 @@ pub unsafe fn register_dtor(t: *mut u8, dtor: unsafe extern fn(*mut u8)) { } } } - -#[cfg(not(target_os = "macos"))] -pub unsafe fn lookup_once<T>(ptr: *const &T) -> &T { - *ptr -} - -#[cfg(target_os = "macos")] -pub unsafe fn lookup_once<T>(ptr: *const &T) -> &T { - // On macos, thread_local lookups can result in terrible code due to - // aggressive rerunning of the macos equivalent of `__tls_get_addr` - four - // lookups per actual reference in user code. - // - // Using a read_volatile on a value holding fast Key's address tricks the - // optimizer into only calling the macos get_addr equivalent once per time - // requested by the user. - crate::ptr::read_volatile(ptr) -} |
