< prev index next >

src/os_cpu/windows_x86/vm/atomic_windows_x86.hpp

Print this page
rev 13030 : [mq]: add_const

*** 128,138 **** 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 jint Atomic::add (jint add_value, volatile jint* dest) { __asm { --- 128,138 ---- 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 jint Atomic::add (jint add_value, volatile jint* dest) { __asm {
*** 247,257 **** 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; volatile jlong* pdest = &dest; __asm { mov eax, src fild qword ptr [eax] --- 247,257 ---- 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; volatile jlong* pdest = &dest; __asm { mov eax, src fild qword ptr [eax]
< prev index next >