< prev index next >

src/os_cpu/linux_aarch64/vm/atomic_linux_aarch64.hpp

Print this page
rev 13281 : imported patch Atomic_refactoring
rev 13282 : imported patch Atomic_polishing
rev 13284 : [mq]: Atomic_aliasing_2

*** 54,64 **** return res; } template <> inline int64_t Atomic::specialized_xchg<int64_t>(int64_t exchange_value, volatile int64_t* dest) { ! int64_t res = __sync_lock_test_and_set (dest, exchange_value); FULL_MEM_BARRIER; return res; } template <typename T> T generic_cmpxchg(T exchange_value, volatile T* dest, --- 54,64 ---- return res; } template <> inline int64_t Atomic::specialized_xchg<int64_t>(int64_t exchange_value, volatile int64_t* dest) { ! intptr_t res = reinterpret_cast<intptr_t>(__sync_lock_test_and_set(reinterpret_cast<char* volatile*>(dest), reinterpret_cast<char*>(exchange_value))); FULL_MEM_BARRIER; return res; } template <typename T> T generic_cmpxchg(T exchange_value, volatile T* dest,
< prev index next >