< 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,11 +54,11 @@
   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);
+  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 >