--- old/src/hotspot/share/gc/z/zMarkStackAllocator.cpp 2019-11-21 11:57:51.639680988 +0100 +++ new/src/hotspot/share/gc/z/zMarkStackAllocator.cpp 2019-11-21 11:57:51.211673759 +0100 @@ -70,7 +70,7 @@ return 0; } - const uintptr_t prev_top = Atomic::cmpxchg(new_top, &_top, top); + const uintptr_t prev_top = Atomic::cmpxchg(&_top, top, new_top); if (prev_top == top) { // Success return top; @@ -110,8 +110,8 @@ // Increment top before end to make sure another // thread can't steal out newly expanded space. - addr = Atomic::add(size, &_top) - size; - Atomic::add(expand_size, &_end); + addr = Atomic::add(&_top, size) - size; + Atomic::add(&_end, expand_size); return addr; }