< prev index next >

src/os_cpu/solaris_x86/vm/atomic_solaris_x86.hpp

Print this page
rev 13030 : [mq]: add_const

*** 113,123 **** inline void* Atomic::cmpxchg_ptr(void* exchange_value, volatile void* dest, void* compare_value, cmpxchg_memory_order order) { return (void*)_Atomic_cmpxchg_long((jlong)exchange_value, (volatile jlong*)dest, (jlong)compare_value); } ! 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)add((jint)add_value, (volatile jint*)dest); --- 113,123 ---- inline void* Atomic::cmpxchg_ptr(void* exchange_value, volatile void* dest, void* compare_value, cmpxchg_memory_order order) { return (void*)_Atomic_cmpxchg_long((jlong)exchange_value, (volatile jlong*)dest, (jlong)compare_value); } ! 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)add((jint)add_value, (volatile jint*)dest);
*** 141,153 **** 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); } ! extern "C" void _Atomic_move_long(volatile jlong* src, volatile jlong* dst); ! inline jlong Atomic::load(volatile jlong* src) { volatile jlong dest; _Atomic_move_long(src, &dest); return dest; } --- 141,153 ---- 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); } ! extern "C" void _Atomic_move_long(const volatile jlong* src, volatile jlong* dst); ! inline jlong Atomic::load(const volatile jlong* src) { volatile jlong dest; _Atomic_move_long(src, &dest); return dest; }
< prev index next >