diff -r 5eeee2cc94f5 -r e53ec3b362f4 src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp --- 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 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; } };