src/share/vm/runtime/atomic.cpp

changeset 548
ba764ed4b6f2
parent 435
a61af66fc99e
child 631
d1605aabd0a1
equal deleted inserted replaced
545:a49a647afe9a 548:ba764ed4b6f2
42 new_val = cur; 42 new_val = cur;
43 new_val_as_bytes[offset] = exchange_value; 43 new_val_as_bytes[offset] = exchange_value;
44 } 44 }
45 return cur_as_bytes[offset]; 45 return cur_as_bytes[offset];
46 } 46 }
47
48 unsigned Atomic::xchg(unsigned int exchange_value, volatile unsigned int* dest) {
49 assert(sizeof(unsigned int) == sizeof(jint), "more work to do");
50 return (unsigned int)Atomic::xchg((jint)exchange_value, (volatile jint*)dest);
51 }
52
53 unsigned Atomic::cmpxchg(unsigned int exchange_value,
54 volatile unsigned int* dest, unsigned int compare_value) {
55 assert(sizeof(unsigned int) == sizeof(jint), "more work to do");
56 return (unsigned int)Atomic::cmpxchg((jint)exchange_value, (volatile jint*)dest,
57 (jint)compare_value);
58 }

mercurial