diff -r f4edb0d9f109 -r 21d113ecbf6a hotspot/src/share/vm/runtime/atomic.cpp --- a/hotspot/src/share/vm/runtime/atomic.cpp Fri Apr 11 09:56:35 2008 -0400 +++ b/hotspot/src/share/vm/runtime/atomic.cpp Sun Apr 13 17:43:42 2008 -0400 @@ -44,3 +44,15 @@ } return cur_as_bytes[offset]; } + +unsigned Atomic::xchg(unsigned int exchange_value, volatile unsigned int* dest) { + assert(sizeof(unsigned int) == sizeof(jint), "more work to do"); + return (unsigned int)Atomic::xchg((jint)exchange_value, (volatile jint*)dest); +} + +unsigned Atomic::cmpxchg(unsigned int exchange_value, + volatile unsigned int* dest, unsigned int compare_value) { + assert(sizeof(unsigned int) == sizeof(jint), "more work to do"); + return (unsigned int)Atomic::cmpxchg((jint)exchange_value, (volatile jint*)dest, + (jint)compare_value); +}