src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp
changeset 59252 623722a6aeb9
parent 59251 4cbfa5077d68
equal deleted inserted replaced
59251:4cbfa5077d68 59252:623722a6aeb9
    55   return res;
    55   return res;
    56 }
    56 }
    57 
    57 
    58 template<size_t byte_size>
    58 template<size_t byte_size>
    59 template<typename T>
    59 template<typename T>
    60 inline T Atomic::PlatformCmpxchg<byte_size>::operator()(T exchange_value,
    60 inline T Atomic::PlatformCmpxchg<byte_size>::operator()(T volatile* dest,
    61                                                         T volatile* dest,
       
    62                                                         T compare_value,
    61                                                         T compare_value,
       
    62                                                         T exchange_value,
    63                                                         atomic_memory_order order) const {
    63                                                         atomic_memory_order order) const {
    64   STATIC_ASSERT(byte_size == sizeof(T));
    64   STATIC_ASSERT(byte_size == sizeof(T));
    65   if (order == memory_order_relaxed) {
    65   if (order == memory_order_relaxed) {
    66     T value = compare_value;
    66     T value = compare_value;
    67     __atomic_compare_exchange(dest, &value, &exchange_value, /*weak*/false,
    67     __atomic_compare_exchange(dest, &value, &exchange_value, /*weak*/false,