< prev index next >
src/hotspot/share/gc/z/zMarkStack.inline.hpp
Print this page
@@ -119,11 +119,11 @@
uint32_t version = 0;
for (;;) {
decode_versioned_pointer(vstack, stack->next_addr(), &version);
T* const new_vstack = encode_versioned_pointer(stack, version + 1);
- T* const prev_vstack = Atomic::cmpxchg(new_vstack, &_head, vstack);
+ T* const prev_vstack = Atomic::cmpxchg(&_head, vstack, new_vstack);
if (prev_vstack == vstack) {
// Success
break;
}
@@ -143,11 +143,11 @@
if (stack == NULL) {
return NULL;
}
T* const new_vstack = encode_versioned_pointer(stack->next(), version + 1);
- T* const prev_vstack = Atomic::cmpxchg(new_vstack, &_head, vstack);
+ T* const prev_vstack = Atomic::cmpxchg(&_head, vstack, new_vstack);
if (prev_vstack == vstack) {
// Success
return stack;
}
< prev index next >