Lines Matching full:addr
26 Mutex* QuasiAtomic::GetSwapMutex(const volatile int64_t* addr) {
27 return (*gSwapMutexes)[(reinterpret_cast<uintptr_t>(addr) >> 3U) % kSwapMutexCount];
46 int64_t QuasiAtomic::SwapMutexRead64(volatile const int64_t* addr) {
47 MutexLock mu(Thread::Current(), *GetSwapMutex(addr));
48 return *addr;
51 void QuasiAtomic::SwapMutexWrite64(volatile int64_t* addr, int64_t value) {
52 MutexLock mu(Thread::Current(), *GetSwapMutex(addr));
53 *addr = value;
57 bool QuasiAtomic::SwapMutexCas64(int64_t old_value, int64_t new_value, volatile int64_t* addr) {
58 MutexLock mu(Thread::Current(), *GetSwapMutex(addr));
59 if (*addr == old_value) {
60 *addr = new_value;