< prev index next >

src/os_cpu/linux_x86/vm/atomic_linux_x86.inline.hpp

Print this page
rev 7555 : Improved metaprogramming

*** 82,97 **** : "0" (exchange_value), "r" (dest) : "memory"); return exchange_value; } ! inline void* Atomic::xchg_ptr(void* exchange_value, volatile void* dest) { return (void*)xchg_ptr((intptr_t)exchange_value, (volatile intptr_t*)dest); } ! #define VM_HAS_SPECIALIZED_CMPXCHG_BYTE ! inline jbyte Atomic::cmpxchg (jbyte exchange_value, volatile jbyte* dest, jbyte compare_value) { int mp = os::is_MP(); __asm__ volatile (LOCK_IF_MP(%4) "cmpxchgb %1,(%3)" : "=a" (exchange_value) : "q" (exchange_value), "a" (compare_value), "r" (dest), "r" (mp) : "cc", "memory"); --- 82,96 ---- : "0" (exchange_value), "r" (dest) : "memory"); return exchange_value; } ! inline void* Atomic::xchg_ptr (void* exchange_value, volatile void* dest) { return (void*)xchg_ptr((intptr_t)exchange_value, (volatile intptr_t*)dest); } ! inline jbyte AtomicPlatform::cmpxchg(jbyte exchange_value, volatile jbyte* dest, jbyte compare_value) { int mp = os::is_MP(); __asm__ volatile (LOCK_IF_MP(%4) "cmpxchgb %1,(%3)" : "=a" (exchange_value) : "q" (exchange_value), "a" (compare_value), "r" (dest), "r" (mp) : "cc", "memory");
< prev index next >