auto merge of #8151 : sanxiyn/rust/atomicrmw, r=cmr
#8039 broke ARM build, and nothing uses these yet.
This commit is contained in:
commit
ef87e2cc96
@ -205,18 +205,6 @@ impl AtomicInt {
|
||||
pub fn fetch_sub(&mut self, val: int, order: Ordering) -> int {
|
||||
unsafe { atomic_sub(&mut self.v, val, order) }
|
||||
}
|
||||
|
||||
/// Returns the old value
|
||||
#[inline]
|
||||
pub fn fetch_min(&mut self, val: int, order: Ordering) -> int {
|
||||
unsafe { atomic_min(&mut self.v, val, order) }
|
||||
}
|
||||
|
||||
/// Returns the old value
|
||||
#[inline]
|
||||
pub fn fetch_max(&mut self, val: int, order: Ordering) -> int {
|
||||
unsafe { atomic_max(&mut self.v, val, order) }
|
||||
}
|
||||
}
|
||||
|
||||
impl AtomicUint {
|
||||
@ -255,18 +243,6 @@ impl AtomicUint {
|
||||
pub fn fetch_sub(&mut self, val: uint, order: Ordering) -> uint {
|
||||
unsafe { atomic_sub(&mut self.v, val, order) }
|
||||
}
|
||||
|
||||
/// Returns the old value
|
||||
#[inline]
|
||||
pub fn fetch_min(&mut self, val: uint, order: Ordering) -> uint {
|
||||
unsafe { atomic_umin(&mut self.v, val, order) }
|
||||
}
|
||||
|
||||
/// Returns the old value
|
||||
#[inline]
|
||||
pub fn fetch_max(&mut self, val: uint, order: Ordering) -> uint {
|
||||
unsafe { atomic_umax(&mut self.v, val, order) }
|
||||
}
|
||||
}
|
||||
|
||||
impl<T> AtomicPtr<T> {
|
||||
@ -515,64 +491,6 @@ pub unsafe fn atomic_xor<T>(dst: &mut T, val: T, order: Ordering) -> T {
|
||||
}
|
||||
|
||||
|
||||
#[inline]
|
||||
pub unsafe fn atomic_max<T>(dst: &mut T, val: T, order: Ordering) -> T {
|
||||
let dst = cast::transmute(dst);
|
||||
let val = cast::transmute(val);
|
||||
|
||||
cast::transmute(match order {
|
||||
Acquire => intrinsics::atomic_max_acq(dst, val),
|
||||
Release => intrinsics::atomic_max_rel(dst, val),
|
||||
AcqRel => intrinsics::atomic_max_acqrel(dst, val),
|
||||
Relaxed => intrinsics::atomic_max_relaxed(dst, val),
|
||||
_ => intrinsics::atomic_max(dst, val)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
#[inline]
|
||||
pub unsafe fn atomic_min<T>(dst: &mut T, val: T, order: Ordering) -> T {
|
||||
let dst = cast::transmute(dst);
|
||||
let val = cast::transmute(val);
|
||||
|
||||
cast::transmute(match order {
|
||||
Acquire => intrinsics::atomic_min_acq(dst, val),
|
||||
Release => intrinsics::atomic_min_rel(dst, val),
|
||||
AcqRel => intrinsics::atomic_min_acqrel(dst, val),
|
||||
Relaxed => intrinsics::atomic_min_relaxed(dst, val),
|
||||
_ => intrinsics::atomic_min(dst, val)
|
||||
})
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub unsafe fn atomic_umax<T>(dst: &mut T, val: T, order: Ordering) -> T {
|
||||
let dst = cast::transmute(dst);
|
||||
let val = cast::transmute(val);
|
||||
|
||||
cast::transmute(match order {
|
||||
Acquire => intrinsics::atomic_umax_acq(dst, val),
|
||||
Release => intrinsics::atomic_umax_rel(dst, val),
|
||||
AcqRel => intrinsics::atomic_umax_acqrel(dst, val),
|
||||
Relaxed => intrinsics::atomic_umax_relaxed(dst, val),
|
||||
_ => intrinsics::atomic_umax(dst, val)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
#[inline]
|
||||
pub unsafe fn atomic_umin<T>(dst: &mut T, val: T, order: Ordering) -> T {
|
||||
let dst = cast::transmute(dst);
|
||||
let val = cast::transmute(val);
|
||||
|
||||
cast::transmute(match order {
|
||||
Acquire => intrinsics::atomic_umin_acq(dst, val),
|
||||
Release => intrinsics::atomic_umin_rel(dst, val),
|
||||
AcqRel => intrinsics::atomic_umin_acqrel(dst, val),
|
||||
Relaxed => intrinsics::atomic_umin_relaxed(dst, val),
|
||||
_ => intrinsics::atomic_umin(dst, val)
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* An atomic fence.
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user