19 #ifndef PAGESPEED_KERNEL_BASE_ATOMIC_INT32_H_
20 #define PAGESPEED_KERNEL_BASE_ATOMIC_INT32_H_
25 namespace net_instaweb {
84 return base::subtle::Acquire_Load(&value_);
89 base::subtle::Release_Store(&value_, value);
96 return base::subtle::NoBarrier_AtomicIncrement(&value_, amount);
102 return base::subtle::Barrier_AtomicIncrement(&value_, amount);
116 return base::subtle::Release_CompareAndSwap(
117 &value_, expected_value, new_value);
121 base::subtle::AtomicWord value_;
int32 BarrierIncrement(int32 amount)
Definition: atomic_int32.h:101
Definition: atomic_int32.h:72
void set_value(int32 value)
Store value. Has release semantics (see above).
Definition: atomic_int32.h:88
int32 NoBarrierIncrement(int32 amount)
Definition: atomic_int32.h:95
int32 value() const
Return the value currently stored. Has acquire semantics (see above).
Definition: atomic_int32.h:83
int32 CompareAndSwap(int32 expected_value, int32 new_value)
Definition: atomic_int32.h:115