about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/doc/unstable-book/src/library-features/hint-core-should-pause.md41
-rw-r--r--src/libcore/sync/atomic.rs5
2 files changed, 2 insertions, 44 deletions
diff --git a/src/doc/unstable-book/src/library-features/hint-core-should-pause.md b/src/doc/unstable-book/src/library-features/hint-core-should-pause.md
deleted file mode 100644
index 05e057be493..00000000000
--- a/src/doc/unstable-book/src/library-features/hint-core-should-pause.md
+++ /dev/null
@@ -1,41 +0,0 @@
-# `hint_core_should_pause`
-
-The tracking issue for this feature is: [#41196]
-
-[#41196]: https://github.com/rust-lang/rust/issues/41196
-
-------------------------
-
-Many programs have spin loops like the following:
-
-```rust,no_run
-use std::sync::atomic::{AtomicBool,Ordering};
-
-fn spin_loop(value: &AtomicBool) {
-    loop {
-        if value.load(Ordering::Acquire) {
-             break;
-        }
-    }
-}
-```
-
-These programs can be improved in performance like so:
-
-```rust,no_run
-#![feature(hint_core_should_pause)]
-use std::sync::atomic;
-use std::sync::atomic::{AtomicBool,Ordering};
-
-fn spin_loop(value: &AtomicBool) {
-    loop {
-        if value.load(Ordering::Acquire) {
-             break;
-        }
-        atomic::hint_core_should_pause();
-    }
-}
-```
-
-Further improvements could combine `hint_core_should_pause` with
-exponential backoff or `std::thread::yield_now`.
diff --git a/src/libcore/sync/atomic.rs b/src/libcore/sync/atomic.rs
index b7cf6d778a2..8a261b8f077 100644
--- a/src/libcore/sync/atomic.rs
+++ b/src/libcore/sync/atomic.rs
@@ -103,9 +103,8 @@ use fmt;
 ///
 /// On some platforms this function may not do anything at all.
 #[inline]
-#[unstable(feature = "hint_core_should_pause", issue = "41196")]
-pub fn hint_core_should_pause()
-{
+#[stable(feature = "spin_loop_hint", since = "1.24.0")]
+pub fn spin_loop_hint() {
     #[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
     unsafe {
         asm!("pause" ::: "memory" : "volatile");