H A D | tsan_interface_atomic.cc | 36 static bool IsLoadOrder(morder mo) { argument 37 return mo == mo_relaxed || mo == mo_consume 38 || mo == mo_acquire || mo == mo_seq_cst; 41 static bool IsStoreOrder(morder mo) { argument 42 return mo == mo_relaxed || mo == mo_release || mo == mo_seq_cst; 45 static bool IsReleaseOrder(morder mo) { argument 49 IsAcquireOrder(morder mo) argument 54 IsAcqRelOrder(morder mo) argument 197 to_mo(morder mo) argument 211 NoTsanAtomicLoad(const volatile T *a, morder mo) argument 216 NoTsanAtomicLoad(const volatile a128 *a, morder mo) argument 223 AtomicLoad(ThreadState *thr, uptr pc, const volatile T *a, morder mo) argument 241 NoTsanAtomicStore(volatile T *a, T v, morder mo) argument 246 NoTsanAtomicStore(volatile a128 *a, a128 v, morder mo) argument 253 AtomicStore(ThreadState *thr, uptr pc, volatile T *a, T v, morder mo) argument 276 AtomicRMW(ThreadState *thr, uptr pc, volatile T *a, T v, morder mo) argument 298 NoTsanAtomicExchange(volatile T *a, T v, morder mo) argument 303 NoTsanAtomicFetchAdd(volatile T *a, T v, morder mo) argument 308 NoTsanAtomicFetchSub(volatile T *a, T v, morder mo) argument 313 NoTsanAtomicFetchAnd(volatile T *a, T v, morder mo) argument 318 NoTsanAtomicFetchOr(volatile T *a, T v, morder mo) argument 323 NoTsanAtomicFetchXor(volatile T *a, T v, morder mo) argument 328 NoTsanAtomicFetchNand(volatile T *a, T v, morder mo) argument 333 AtomicExchange(ThreadState *thr, uptr pc, volatile T *a, T v, morder mo) argument 339 AtomicFetchAdd(ThreadState *thr, uptr pc, volatile T *a, T v, morder mo) argument 345 AtomicFetchSub(ThreadState *thr, uptr pc, volatile T *a, T v, morder mo) argument 351 AtomicFetchAnd(ThreadState *thr, uptr pc, volatile T *a, T v, morder mo) argument 357 AtomicFetchOr(ThreadState *thr, uptr pc, volatile T *a, T v, morder mo) argument 363 AtomicFetchXor(ThreadState *thr, uptr pc, volatile T *a, T v, morder mo) argument 369 AtomicFetchNand(ThreadState *thr, uptr pc, volatile T *a, T v, morder mo) argument 375 NoTsanAtomicCAS(volatile T *a, T *c, T v, morder mo, morder fmo) argument 380 NoTsanAtomicCAS(volatile a128 *a, a128 *c, a128 v, morder mo, morder fmo) argument 392 NoTsanAtomicCAS(volatile T *a, T c, T v, morder mo, morder fmo) argument 398 AtomicCAS(ThreadState *thr, uptr pc, volatile T *a, T *c, T v, morder mo, morder fmo) argument 431 AtomicCAS(ThreadState *thr, uptr pc, volatile T *a, T c, T v, morder mo, morder fmo) argument 438 NoTsanAtomicFence(morder mo) argument 442 AtomicFence(ThreadState *thr, uptr pc, morder mo) argument 467 ScopedAtomic(ThreadState *thr, uptr pc, const volatile void *a, morder mo, const char *func) argument 481 AtomicStatInc(ThreadState *thr, uptr size, morder mo, StatType t) argument 499 __tsan_atomic8_load(const volatile a8 *a, morder mo) argument 504 __tsan_atomic16_load(const volatile a16 *a, morder mo) argument 509 __tsan_atomic32_load(const volatile a32 *a, morder mo) argument 514 __tsan_atomic64_load(const volatile a64 *a, morder mo) argument 520 __tsan_atomic128_load(const volatile a128 *a, morder mo) argument 526 __tsan_atomic8_store(volatile a8 *a, a8 v, morder mo) argument 531 __tsan_atomic16_store(volatile a16 *a, a16 v, morder mo) argument 536 __tsan_atomic32_store(volatile a32 *a, a32 v, morder mo) argument 541 __tsan_atomic64_store(volatile a64 *a, a64 v, morder mo) argument 547 __tsan_atomic128_store(volatile a128 *a, a128 v, morder mo) argument 553 __tsan_atomic8_exchange(volatile a8 *a, a8 v, morder mo) argument 558 __tsan_atomic16_exchange(volatile a16 *a, a16 v, morder mo) argument 563 __tsan_atomic32_exchange(volatile a32 *a, a32 v, morder mo) argument 568 __tsan_atomic64_exchange(volatile a64 *a, a64 v, morder mo) argument 574 __tsan_atomic128_exchange(volatile a128 *a, a128 v, morder mo) argument 580 __tsan_atomic8_fetch_add(volatile a8 *a, a8 v, morder mo) argument 585 __tsan_atomic16_fetch_add(volatile a16 *a, a16 v, morder mo) argument 590 __tsan_atomic32_fetch_add(volatile a32 *a, a32 v, morder mo) argument 595 __tsan_atomic64_fetch_add(volatile a64 *a, a64 v, morder mo) argument 601 __tsan_atomic128_fetch_add(volatile a128 *a, a128 v, morder mo) argument 607 __tsan_atomic8_fetch_sub(volatile a8 *a, a8 v, morder mo) argument 612 __tsan_atomic16_fetch_sub(volatile a16 *a, a16 v, morder mo) argument 617 __tsan_atomic32_fetch_sub(volatile a32 *a, a32 v, morder mo) argument 622 __tsan_atomic64_fetch_sub(volatile a64 *a, a64 v, morder mo) argument 628 __tsan_atomic128_fetch_sub(volatile a128 *a, a128 v, morder mo) argument 634 __tsan_atomic8_fetch_and(volatile a8 *a, a8 v, morder mo) argument 639 __tsan_atomic16_fetch_and(volatile a16 *a, a16 v, morder mo) argument 644 __tsan_atomic32_fetch_and(volatile a32 *a, a32 v, morder mo) argument 649 __tsan_atomic64_fetch_and(volatile a64 *a, a64 v, morder mo) argument 655 __tsan_atomic128_fetch_and(volatile a128 *a, a128 v, morder mo) argument 661 __tsan_atomic8_fetch_or(volatile a8 *a, a8 v, morder mo) argument 666 __tsan_atomic16_fetch_or(volatile a16 *a, a16 v, morder mo) argument 671 __tsan_atomic32_fetch_or(volatile a32 *a, a32 v, morder mo) argument 676 __tsan_atomic64_fetch_or(volatile a64 *a, a64 v, morder mo) argument 682 __tsan_atomic128_fetch_or(volatile a128 *a, a128 v, morder mo) argument 688 __tsan_atomic8_fetch_xor(volatile a8 *a, a8 v, morder mo) argument 693 __tsan_atomic16_fetch_xor(volatile a16 *a, a16 v, morder mo) argument 698 __tsan_atomic32_fetch_xor(volatile a32 *a, a32 v, morder mo) argument 703 __tsan_atomic64_fetch_xor(volatile a64 *a, a64 v, morder mo) argument 709 __tsan_atomic128_fetch_xor(volatile a128 *a, a128 v, morder mo) argument 715 __tsan_atomic8_fetch_nand(volatile a8 *a, a8 v, morder mo) argument 720 __tsan_atomic16_fetch_nand(volatile a16 *a, a16 v, morder mo) argument 725 __tsan_atomic32_fetch_nand(volatile a32 *a, a32 v, morder mo) argument 730 __tsan_atomic64_fetch_nand(volatile a64 *a, a64 v, morder mo) argument 736 __tsan_atomic128_fetch_nand(volatile a128 *a, a128 v, morder mo) argument 742 __tsan_atomic8_compare_exchange_strong(volatile a8 *a, a8 *c, a8 v, morder mo, morder fmo) argument 748 __tsan_atomic16_compare_exchange_strong(volatile a16 *a, a16 *c, a16 v, morder mo, morder fmo) argument 754 __tsan_atomic32_compare_exchange_strong(volatile a32 *a, a32 *c, a32 v, morder mo, morder fmo) argument 760 __tsan_atomic64_compare_exchange_strong(volatile a64 *a, a64 *c, a64 v, morder mo, morder fmo) argument 767 __tsan_atomic128_compare_exchange_strong(volatile a128 *a, a128 *c, a128 v, morder mo, morder fmo) argument 774 __tsan_atomic8_compare_exchange_weak(volatile a8 *a, a8 *c, a8 v, morder mo, morder fmo) argument 780 __tsan_atomic16_compare_exchange_weak(volatile a16 *a, a16 *c, a16 v, morder mo, morder fmo) argument 786 __tsan_atomic32_compare_exchange_weak(volatile a32 *a, a32 *c, a32 v, morder mo, morder fmo) argument 792 __tsan_atomic64_compare_exchange_weak(volatile a64 *a, a64 *c, a64 v, morder mo, morder fmo) argument 799 __tsan_atomic128_compare_exchange_weak(volatile a128 *a, a128 *c, a128 v, morder mo, morder fmo) argument 806 __tsan_atomic8_compare_exchange_val(volatile a8 *a, a8 c, a8 v, morder mo, morder fmo) argument 812 __tsan_atomic16_compare_exchange_val(volatile a16 *a, a16 c, a16 v, morder mo, morder fmo) argument 818 __tsan_atomic32_compare_exchange_val(volatile a32 *a, a32 c, a32 v, morder mo, morder fmo) argument 824 __tsan_atomic64_compare_exchange_val(volatile a64 *a, a64 c, a64 v, morder mo, morder fmo) argument 831 __tsan_atomic128_compare_exchange_val(volatile a128 *a, a128 c, a128 v, morder mo, morder fmo) argument 838 __tsan_atomic_thread_fence(morder mo) argument 844 __tsan_atomic_signal_fence(morder mo) argument [all...] |