--- old/src/hotspot/share/gc/z/zMarkStack.inline.hpp 2019-11-21 11:55:17.661079088 +0100 +++ new/src/hotspot/share/gc/z/zMarkStack.inline.hpp 2019-11-21 11:55:17.405074759 +0100 @@ -121,7 +121,7 @@ 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; @@ -145,7 +145,7 @@ } 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;