Lines Matching refs:ptr
23 volatile Atomic32* ptr);
32 inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr,
35 Atomic32 prev_value = *ptr;
38 const_cast<Atomic32*>(ptr))) {
41 prev_value = *ptr;
46 inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr,
50 old_value = *ptr;
52 const_cast<Atomic32*>(ptr)));
56 inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr,
58 return Barrier_AtomicIncrement(ptr, increment);
61 inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr,
65 Atomic32 old_value = *ptr;
68 const_cast<Atomic32*>(ptr)) == 0) {
72 // Otherwise, *ptr changed mid-loop and we need to retry.
77 inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr,
80 return NoBarrier_CompareAndSwap(ptr, old_value, new_value);
83 inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr,
86 return NoBarrier_CompareAndSwap(ptr, old_value, new_value);
89 inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) {
90 *ptr = value;
97 inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) {
98 *ptr = value;
102 inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) {
104 *ptr = value;
107 inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) {
108 return *ptr;
111 inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) {
112 Atomic32 value = *ptr;
117 inline Atomic32 Release_Load(volatile const Atomic32* ptr) {
119 return *ptr;