Lines Matching defs:Atomic32

38 typedef int32_t Atomic32;
40 // MacOS uses long for intptr_t, AtomicWord and Atomic32 are always different
47 #define AtomicWordCastType Atomic32
67 // code only calls AtomicWord and Atomic32 operations.
111 inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32 *ptr,
112 Atomic32 old_value,
113 Atomic32 new_value) {
114 Atomic32 prev_value;
117 const_cast<Atomic32*>(ptr))) {
125 inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32 *ptr,
126 Atomic32 new_value) {
127 Atomic32 old_value;
131 const_cast<Atomic32*>(ptr)));
135 inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32 *ptr,
136 Atomic32 increment) {
137 return OSAtomicAdd32(increment, const_cast<Atomic32*>(ptr));
140 inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32 *ptr,
141 Atomic32 increment) {
142 return OSAtomicAdd32Barrier(increment, const_cast<Atomic32*>(ptr));
145 inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32 *ptr,
146 Atomic32 old_value,
147 Atomic32 new_value) {
148 Atomic32 prev_value;
151 const_cast<Atomic32*>(ptr))) {
159 inline Atomic32 Release_CompareAndSwap(volatile Atomic32 *ptr,
160 Atomic32 old_value,
161 Atomic32 new_value) {
165 inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) {
169 inline void Acquire_Store(volatile Atomic32 *ptr, Atomic32 value) {
174 inline void Release_Store(volatile Atomic32 *ptr, Atomic32 value) {
179 inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) {
183 inline Atomic32 Acquire_Load(volatile const Atomic32 *ptr) {
184 Atomic32 value = *ptr;
189 inline Atomic32 Release_Load(volatile const Atomic32 *ptr) {