Mercurial > hg > graal-jvmci-8
diff src/share/vm/runtime/atomic.hpp @ 113:ba764ed4b6f2
6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
Summary: Compressed oops in instances, arrays, and headers. Code contributors are coleenp, phh, never, swamyv
Reviewed-by: jmasa, kamg, acorn, tbell, kvn, rasbold
author | coleenp |
---|---|
date | Sun, 13 Apr 2008 17:43:42 -0400 |
parents | a61af66fc99e |
children | d1605aabd0a1 |
line wrap: on
line diff
--- a/src/share/vm/runtime/atomic.hpp Fri Apr 11 09:56:35 2008 -0400 +++ b/src/share/vm/runtime/atomic.hpp Sun Apr 13 17:43:42 2008 -0400 @@ -55,7 +55,10 @@ static void dec_ptr(volatile void* dest); // Performs atomic exchange of *dest with exchange_value. Returns old prior value of *dest. - static jint xchg (jint exchange_value, volatile jint* dest); + static jint xchg(jint exchange_value, volatile jint* dest); + static unsigned int xchg(unsigned int exchange_value, + volatile unsigned int* dest); + static intptr_t xchg_ptr(intptr_t exchange_value, volatile intptr_t* dest); static void* xchg_ptr(void* exchange_value, volatile void* dest); @@ -65,6 +68,11 @@ static jbyte cmpxchg (jbyte exchange_value, volatile jbyte* dest, jbyte compare_value); static jint cmpxchg (jint exchange_value, volatile jint* dest, jint compare_value); static jlong cmpxchg (jlong exchange_value, volatile jlong* dest, jlong compare_value); + + static unsigned int cmpxchg(unsigned int exchange_value, + volatile unsigned int* dest, + unsigned int compare_value); + static intptr_t cmpxchg_ptr(intptr_t exchange_value, volatile intptr_t* dest, intptr_t compare_value); static void* cmpxchg_ptr(void* exchange_value, volatile void* dest, void* compare_value); };