< prev index next >
src/hotspot/share/utilities/bitMap.inline.hpp
Print this page
@@ -70,11 +70,11 @@
do {
const bm_word_t new_val = old_val | mask;
if (new_val == old_val) {
return false; // Someone else beat us to it.
}
- const bm_word_t cur_val = Atomic::cmpxchg(new_val, addr, old_val, memory_order);
+ const bm_word_t cur_val = Atomic::cmpxchg(addr, old_val, new_val, memory_order);
if (cur_val == old_val) {
return true; // Success.
}
old_val = cur_val; // The value changed, try again.
} while (true);
@@ -89,11 +89,11 @@
do {
const bm_word_t new_val = old_val & mask;
if (new_val == old_val) {
return false; // Someone else beat us to it.
}
- const bm_word_t cur_val = Atomic::cmpxchg(new_val, addr, old_val, memory_order);
+ const bm_word_t cur_val = Atomic::cmpxchg(addr, old_val, new_val, memory_order);
if (cur_val == old_val) {
return true; // Success.
}
old_val = cur_val; // The value changed, try again.
} while (true);
< prev index next >