Lines Matching refs:addr
59 static int64_t Read64(volatile const int64_t* addr) { in Read64() argument
63 value = *addr; in Read64()
71 : "m" (*addr)); in Read64()
77 : "Q" (*addr)); in Read64()
83 : "m" (*addr)); in Read64()
90 return SwapMutexRead64(addr); in Read64()
95 static void Write64(volatile int64_t* addr, int64_t value) { in Write64() argument
98 *addr = value; in Write64()
105 : "=m"(*addr) in Write64()
115 : "=&r" (prev), "=&r" (status), "+Q"(*addr) in Write64()
123 : "=m" (*addr) in Write64()
130 SwapMutexWrite64(addr, value); in Write64()
141 static bool Cas64(int64_t old_value, int64_t new_value, volatile int64_t* addr) { in Cas64() argument
143 return __sync_bool_compare_and_swap(addr, old_value, new_value); in Cas64()
145 return SwapMutexCas64(old_value, new_value, addr); in Cas64()
175 static Mutex* GetSwapMutex(const volatile int64_t* addr);
176 static int64_t SwapMutexRead64(volatile const int64_t* addr);
177 static void SwapMutexWrite64(volatile int64_t* addr, int64_t val);
178 static bool SwapMutexCas64(int64_t old_value, int64_t new_value, volatile int64_t* addr);