< prev index next >

src/os_cpu/bsd_x86/vm/atomic_bsd_x86.hpp

Print this page
rev 13030 : [mq]: add_const

*** 151,161 **** inline void* Atomic::cmpxchg_ptr(void* exchange_value, volatile void* dest, void* compare_value, cmpxchg_memory_order order) { return (void*)cmpxchg((jlong)exchange_value, (volatile jlong*)dest, (jlong)compare_value, order); } ! inline jlong Atomic::load(volatile jlong* src) { return *src; } #else // !AMD64 inline intptr_t Atomic::add_ptr(intptr_t add_value, volatile intptr_t* dest) { return (intptr_t)Atomic::add((jint)add_value, (volatile jint*)dest); --- 151,161 ---- inline void* Atomic::cmpxchg_ptr(void* exchange_value, volatile void* dest, void* compare_value, cmpxchg_memory_order order) { return (void*)cmpxchg((jlong)exchange_value, (volatile jlong*)dest, (jlong)compare_value, order); } ! inline jlong Atomic::load(const volatile jlong* src) { return *src; } #else // !AMD64 inline intptr_t Atomic::add_ptr(intptr_t add_value, volatile intptr_t* dest) { return (intptr_t)Atomic::add((jint)add_value, (volatile jint*)dest);
*** 179,189 **** } extern "C" { // defined in bsd_x86.s jlong _Atomic_cmpxchg_long(jlong, volatile jlong*, jlong, bool); ! void _Atomic_move_long(volatile jlong* src, volatile jlong* dst); } inline jlong Atomic::cmpxchg (jlong exchange_value, volatile jlong* dest, jlong compare_value, cmpxchg_memory_order order) { return _Atomic_cmpxchg_long(exchange_value, dest, compare_value, os::is_MP()); } --- 179,189 ---- } extern "C" { // defined in bsd_x86.s jlong _Atomic_cmpxchg_long(jlong, volatile jlong*, jlong, bool); ! void _Atomic_move_long(const volatile jlong* src, volatile jlong* dst); } inline jlong Atomic::cmpxchg (jlong exchange_value, volatile jlong* dest, jlong compare_value, cmpxchg_memory_order order) { return _Atomic_cmpxchg_long(exchange_value, dest, compare_value, os::is_MP()); }
*** 194,204 **** inline void* Atomic::cmpxchg_ptr(void* exchange_value, volatile void* dest, void* compare_value, cmpxchg_memory_order order) { return (void*)cmpxchg((jint)exchange_value, (volatile jint*)dest, (jint)compare_value, order); } ! inline jlong Atomic::load(volatile jlong* src) { volatile jlong dest; _Atomic_move_long(src, &dest); return dest; } --- 194,204 ---- inline void* Atomic::cmpxchg_ptr(void* exchange_value, volatile void* dest, void* compare_value, cmpxchg_memory_order order) { return (void*)cmpxchg((jint)exchange_value, (volatile jint*)dest, (jint)compare_value, order); } ! inline jlong Atomic::load(const volatile jlong* src) { volatile jlong dest; _Atomic_move_long(src, &dest); return dest; }
< prev index next >