diff --git a/src/praetor/mod.rs b/src/praetor/mod.rs index e3a0e5f..76cb588 100644 --- a/src/praetor/mod.rs +++ b/src/praetor/mod.rs @@ -40,7 +40,7 @@ mod util { } pub fn new(ptr: *mut T, tag: usize) -> TaggedAtomicPtr { - assert!(core::mem::align_of::().ilog2() as usize >= BITS); + debug_assert!(core::mem::align_of::().ilog2() as usize >= BITS); let mask = Self::mask(); Self( AtomicPtr::new(ptr.with_addr((ptr.addr() & !mask) | (tag & mask)).cast()), @@ -524,7 +524,7 @@ mod job { ) { // if still pending, sleep until completed Ok(state) => { - assert_eq!(state, JobState::Pending as usize); + debug_assert_eq!(state, JobState::Pending as usize); unsafe { *(&mut *self.err_or_link.get()).waker = Some(std::thread::current()); } @@ -541,7 +541,7 @@ mod job { // after sleeping, state should be `Finished` } Err(state) => { - assert_ne!(state, JobState::Pending as usize); + debug_assert_ne!(state, JobState::Pending as usize); if state == JobState::Finished as usize { let err = unsafe { (&mut *self.err_or_link.get()).error.take() }; @@ -559,11 +559,6 @@ mod job { return result; } else { // spin until lock is released. - // eprintln!( - // "wait({:?}): spinning ({:?})", - // self as *const _, - // JobState::from_u8(state as u8).unwrap() - // ); spin.spin(); } } @@ -582,7 +577,7 @@ mod job { Ordering::Relaxed, ) { Ok(state) => { - assert_eq!(state, JobState::Empty as usize); + debug_assert_eq!(state, JobState::Empty as usize); // set waker to None unsafe { (&mut *self.err_or_link.get()).waker = ManuallyDrop::new(None); @@ -590,7 +585,7 @@ mod job { return; } Err(state) => { - assert_ne!(state, JobState::Empty as usize); + debug_assert_ne!(state, JobState::Empty as usize); eprintln!("######## what the sigma?"); spin.spin(); @@ -603,7 +598,7 @@ mod job { // SAFETY: self is non-null unsafe { let (ptr, state) = self.harness_and_state.ptr_and_tag(Ordering::Relaxed); - assert_eq!(state, JobState::Pending as usize); + debug_assert_eq!(state, JobState::Pending as usize); let harness: unsafe fn(*const (), *const Self) = mem::transmute(ptr.as_ptr()); let this = (*self.val_or_this.get()).this; @@ -622,11 +617,11 @@ mod job { Ordering::Relaxed, ) { Ok(state) => { - assert_eq!(state, JobState::Pending as usize); + debug_assert_eq!(state, JobState::Pending as usize); break; } Err(state) => { - assert_ne!(state, JobState::Pending as usize); + debug_assert_ne!(state, JobState::Pending as usize); spin.spin(); } }