--- old/src/hotspot/share/gc/shared/space.cpp 2019-11-21 11:55:08.856930235 +0100 +++ new/src/hotspot/share/gc/shared/space.cpp 2019-11-21 11:55:08.592925771 +0100 @@ -554,7 +554,7 @@ HeapWord* obj = top(); if (pointer_delta(end(), obj) >= size) { HeapWord* new_top = obj + size; - HeapWord* result = Atomic::cmpxchg(new_top, top_addr(), obj); + HeapWord* result = Atomic::cmpxchg(top_addr(), obj, new_top); // result can be one of two: // the old top value: the exchange succeeded // otherwise: the new value of the top is returned.