Lines Matching refs:addr
60 static int64_t Read64(volatile const int64_t* addr) { in Read64() argument
64 value = *addr; in Read64()
72 : "m" (*addr)); in Read64()
78 : "Q" (*addr)); in Read64()
84 : "m" (*addr)); in Read64()
91 return SwapMutexRead64(addr); in Read64()
96 static void Write64(volatile int64_t* addr, int64_t value) { in Write64() argument
99 *addr = value; in Write64()
106 : "=m"(*addr) in Write64()
116 : "=&r" (prev), "=&r" (status), "+Q"(*addr) in Write64()
124 : "=m" (*addr) in Write64()
131 SwapMutexWrite64(addr, value); in Write64()
142 static bool Cas64(int64_t old_value, int64_t new_value, volatile int64_t* addr) { in Cas64() argument
144 return __sync_bool_compare_and_swap(addr, old_value, new_value); in Cas64()
146 return SwapMutexCas64(old_value, new_value, addr); in Cas64()
164 static Mutex* GetSwapMutex(const volatile int64_t* addr);
165 static int64_t SwapMutexRead64(volatile const int64_t* addr);
166 static void SwapMutexWrite64(volatile int64_t* addr, int64_t val);
167 static bool SwapMutexCas64(int64_t old_value, int64_t new_value, volatile int64_t* addr);