Skip to content

Commit

Permalink
Change orderings of Debug for the Atomic types to Relaxed.
Browse files Browse the repository at this point in the history
This reduces synchronization between threads when
debugging the atomic types.
Reducing the synchronization means that executions with and
without the debug calls will be more consistent,
making it easier to debug.
  • Loading branch information
Noratrieb committed May 13, 2022
1 parent a7d6408 commit d11667f
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions library/core/src/sync/atomic.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1517,7 +1517,7 @@ macro_rules! atomic_int {
#[$stable_debug]
impl fmt::Debug for $atomic_type {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
fmt::Debug::fmt(&self.load(Ordering::SeqCst), f)
fmt::Debug::fmt(&self.load(Ordering::Relaxed), f)
}
}

Expand Down Expand Up @@ -2996,15 +2996,15 @@ pub fn compiler_fence(order: Ordering) {
#[stable(feature = "atomic_debug", since = "1.3.0")]
impl fmt::Debug for AtomicBool {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
fmt::Debug::fmt(&self.load(Ordering::SeqCst), f)
fmt::Debug::fmt(&self.load(Ordering::Relaxed), f)
}
}

#[cfg(target_has_atomic_load_store = "ptr")]
#[stable(feature = "atomic_debug", since = "1.3.0")]
impl<T> fmt::Debug for AtomicPtr<T> {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
fmt::Debug::fmt(&self.load(Ordering::SeqCst), f)
fmt::Debug::fmt(&self.load(Ordering::Relaxed), f)
}
}

Expand Down

0 comments on commit d11667f

Please sign in to comment.