< prev index next >

src/os_cpu/bsd_zero/vm/atomic_bsd_zero.inline.hpp

Print this page
rev 10933 : 8154736: enhancement of cmpxchg and copy_to_survivor for ppc64
Reviewed-by:
Contributed-by: HORII@jp.ibm.com, mdoerr

*** 268,278 **** (volatile intptr_t*) dest); } inline jint Atomic::cmpxchg(jint exchange_value, volatile jint* dest, ! jint compare_value) { #ifdef ARM return arm_compare_and_swap(dest, compare_value, exchange_value); #else #ifdef M68K return m68k_compare_and_swap(dest, compare_value, exchange_value); --- 268,278 ---- (volatile intptr_t*) dest); } inline jint Atomic::cmpxchg(jint exchange_value, volatile jint* dest, ! jint compare_value, memory_order order) { #ifdef ARM return arm_compare_and_swap(dest, compare_value, exchange_value); #else #ifdef M68K return m68k_compare_and_swap(dest, compare_value, exchange_value);
*** 282,299 **** #endif // ARM } inline jlong Atomic::cmpxchg(jlong exchange_value, volatile jlong* dest, ! jlong compare_value) { return __sync_val_compare_and_swap(dest, compare_value, exchange_value); } inline intptr_t Atomic::cmpxchg_ptr(intptr_t exchange_value, volatile intptr_t* dest, ! intptr_t compare_value) { #ifdef ARM return arm_compare_and_swap(dest, compare_value, exchange_value); #else #ifdef M68K return m68k_compare_and_swap(dest, compare_value, exchange_value); --- 282,299 ---- #endif // ARM } inline jlong Atomic::cmpxchg(jlong exchange_value, volatile jlong* dest, ! jlong compare_value, memory_order order) { return __sync_val_compare_and_swap(dest, compare_value, exchange_value); } inline intptr_t Atomic::cmpxchg_ptr(intptr_t exchange_value, volatile intptr_t* dest, ! intptr_t compare_value, memory_order order) { #ifdef ARM return arm_compare_and_swap(dest, compare_value, exchange_value); #else #ifdef M68K return m68k_compare_and_swap(dest, compare_value, exchange_value);
*** 303,313 **** #endif // ARM } inline void* Atomic::cmpxchg_ptr(void* exchange_value, volatile void* dest, ! void* compare_value) { return (void *) cmpxchg_ptr((intptr_t) exchange_value, (volatile intptr_t*) dest, (intptr_t) compare_value); } --- 303,313 ---- #endif // ARM } inline void* Atomic::cmpxchg_ptr(void* exchange_value, volatile void* dest, ! void* compare_value, memory_order order) { return (void *) cmpxchg_ptr((intptr_t) exchange_value, (volatile intptr_t*) dest, (intptr_t) compare_value); }
< prev index next >