about summary refs log tree commit diff
path: root/library/std/src/thread
diff options
context:
space:
mode:
authorHoward Su <howard0su@gmail.com>2020-09-03 06:31:21 +0800
committerGitHub <noreply@github.com>2020-09-03 06:31:21 +0800
commita80d39041e2d5cd58a846c9ef9e01ee9d691a7ed (patch)
tree6b2c64fc498c449890d84c21b1268e30067ee7c5 /library/std/src/thread
parent80fc9b0ecb29050d45b17c64af004200afd3cfc2 (diff)
downloadrust-a80d39041e2d5cd58a846c9ef9e01ee9d691a7ed.tar.gz
rust-a80d39041e2d5cd58a846c9ef9e01ee9d691a7ed.zip
Use inline(never) instead of cold
inline(never) is better way to avoid optimizer to inline the function instead of cold.
Diffstat (limited to 'library/std/src/thread')
-rw-r--r--library/std/src/thread/local.rs5
1 files changed, 2 insertions, 3 deletions
diff --git a/library/std/src/thread/local.rs b/library/std/src/thread/local.rs
index 9d8c6f1815e..60a05dc5d54 100644
--- a/library/std/src/thread/local.rs
+++ b/library/std/src/thread/local.rs
@@ -424,10 +424,9 @@ pub mod fast {
         // thread_local's, or it is being recursively initialized.
         //
         // Macos: Inlining this function can cause two `tlv_get_addr` calls to
-        // be performed for every call to `Key::get`. The #[cold] hint makes
-        // that less likely.
+        // be performed for every call to `Key::get`.
         // LLVM issue: https://bugs.llvm.org/show_bug.cgi?id=41722
-        #[cold]
+        #[inline(never)]
         unsafe fn try_initialize<F: FnOnce() -> T>(&self, init: F) -> Option<&'static T> {
             if !mem::needs_drop::<T>() || self.try_register_dtor() {
                 Some(self.inner.initialize(init))