H A D | tsan_interface_atomic.cc | 49 static void AtomicStatInc(ThreadState *thr, uptr size, morder mo, StatType t) { argument 56 StatInc(thr, mo == mo_relaxed ? StatAtomicRelaxed 57 : mo == mo_consume ? StatAtomicConsume 58 : mo == mo_acquire ? StatAtomicAcquire 59 : mo == mo_release ? StatAtomicRelease 60 : mo == mo_acq_rel ? StatAtomicAcq_Rel 65 mo = flags()->force_seq_cst_atomics ? (morder)mo_seq_cst : mo; \ 68 AtomicStatInc(thr, sizeof(*a), mo, StatAtomic##func); \ 75 morder mo) { 74 AtomicLoad(ThreadState *thr, uptr pc, const volatile T *a, morder mo) argument 84 AtomicStore(ThreadState *thr, uptr pc, volatile T *a, T v, morder mo) argument 93 AtomicExchange(ThreadState *thr, uptr pc, volatile T *a, T v, morder mo) argument 104 AtomicFetchAdd(ThreadState *thr, uptr pc, volatile T *a, T v, morder mo) argument 115 AtomicFetchAnd(ThreadState *thr, uptr pc, volatile T *a, T v, morder mo) argument 126 AtomicFetchOr(ThreadState *thr, uptr pc, volatile T *a, T v, morder mo) argument 137 AtomicFetchXor(ThreadState *thr, uptr pc, volatile T *a, T v, morder mo) argument 148 AtomicCAS(ThreadState *thr, uptr pc, volatile T *a, T *c, T v, morder mo) argument 162 AtomicFence(ThreadState *thr, uptr pc, morder mo) argument 166 __tsan_atomic8_load(const volatile a8 *a, morder mo) argument 170 __tsan_atomic16_load(const volatile a16 *a, morder mo) argument 174 __tsan_atomic32_load(const volatile a32 *a, morder mo) argument 178 __tsan_atomic64_load(const volatile a64 *a, morder mo) argument 182 __tsan_atomic8_store(volatile a8 *a, a8 v, morder mo) argument 186 __tsan_atomic16_store(volatile a16 *a, a16 v, morder mo) argument 190 __tsan_atomic32_store(volatile a32 *a, a32 v, morder mo) argument 194 __tsan_atomic64_store(volatile a64 *a, a64 v, morder mo) argument 198 __tsan_atomic8_exchange(volatile a8 *a, a8 v, morder mo) argument 202 __tsan_atomic16_exchange(volatile a16 *a, a16 v, morder mo) argument 206 __tsan_atomic32_exchange(volatile a32 *a, a32 v, morder mo) argument 210 __tsan_atomic64_exchange(volatile a64 *a, a64 v, morder mo) argument 214 __tsan_atomic8_fetch_add(volatile a8 *a, a8 v, morder mo) argument 218 __tsan_atomic16_fetch_add(volatile a16 *a, a16 v, morder mo) argument 222 __tsan_atomic32_fetch_add(volatile a32 *a, a32 v, morder mo) argument 226 __tsan_atomic64_fetch_add(volatile a64 *a, a64 v, morder mo) argument 230 __tsan_atomic8_fetch_and(volatile a8 *a, a8 v, morder mo) argument 234 __tsan_atomic16_fetch_and(volatile a16 *a, a16 v, morder mo) argument 238 __tsan_atomic32_fetch_and(volatile a32 *a, a32 v, morder mo) argument 242 __tsan_atomic64_fetch_and(volatile a64 *a, a64 v, morder mo) argument 246 __tsan_atomic8_fetch_or(volatile a8 *a, a8 v, morder mo) argument 250 __tsan_atomic16_fetch_or(volatile a16 *a, a16 v, morder mo) argument 254 __tsan_atomic32_fetch_or(volatile a32 *a, a32 v, morder mo) argument 258 __tsan_atomic64_fetch_or(volatile a64 *a, a64 v, morder mo) argument 262 __tsan_atomic8_fetch_xor(volatile a8 *a, a8 v, morder mo) argument 266 __tsan_atomic16_fetch_xor(volatile a16 *a, a16 v, morder mo) argument 270 __tsan_atomic32_fetch_xor(volatile a32 *a, a32 v, morder mo) argument 274 __tsan_atomic64_fetch_xor(volatile a64 *a, a64 v, morder mo) argument 278 __tsan_atomic8_compare_exchange_strong(volatile a8 *a, a8 *c, a8 v, morder mo) argument 283 __tsan_atomic16_compare_exchange_strong(volatile a16 *a, a16 *c, a16 v, morder mo) argument 288 __tsan_atomic32_compare_exchange_strong(volatile a32 *a, a32 *c, a32 v, morder mo) argument 293 __tsan_atomic64_compare_exchange_strong(volatile a64 *a, a64 *c, a64 v, morder mo) argument 298 __tsan_atomic8_compare_exchange_weak(volatile a8 *a, a8 *c, a8 v, morder mo) argument 303 __tsan_atomic16_compare_exchange_weak(volatile a16 *a, a16 *c, a16 v, morder mo) argument 308 __tsan_atomic32_compare_exchange_weak(volatile a32 *a, a32 *c, a32 v, morder mo) argument 313 __tsan_atomic64_compare_exchange_weak(volatile a64 *a, a64 *c, a64 v, morder mo) argument 318 __tsan_atomic_thread_fence(morder mo) argument [all...] |