src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp
changeset 55398 e53ec3b362f4
parent 53244 9807daeb47c4
child 59102 9afab9bf3e6a
--- a/src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp	Fri Jun 14 20:30:10 2019 -0700
+++ b/src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp	Mon Jun 17 15:31:49 2019 +0800
@@ -40,7 +40,9 @@
 {
   template<typename I, typename D>
   D add_and_fetch(I add_value, D volatile* dest, atomic_memory_order order) const {
-    return __sync_add_and_fetch(dest, add_value);
+    D res = __atomic_add_fetch(dest, add_value, __ATOMIC_RELEASE);
+    FULL_MEM_BARRIER;
+    return res;
   }
 };