--- old/src/hotspot/share/gc/z/zObjectAllocator.cpp 2019-11-21 11:57:54.127723008 +0100 +++ new/src/hotspot/share/gc/z/zObjectAllocator.cpp 2019-11-21 11:57:53.651714969 +0100 @@ -63,7 +63,7 @@ ZPage* const page = ZHeap::heap()->alloc_page(type, size, flags); if (page != NULL) { // Increment used bytes - Atomic::add(size, _used.addr()); + Atomic::add(_used.addr(), size); } return page; @@ -71,7 +71,7 @@ void ZObjectAllocator::undo_alloc_page(ZPage* page) { // Increment undone bytes - Atomic::add(page->size(), _undone.addr()); + Atomic::add(_undone.addr(), page->size()); ZHeap::heap()->undo_alloc_page(page); } @@ -97,7 +97,7 @@ retry: // Install new page - ZPage* const prev_page = Atomic::cmpxchg(new_page, shared_page, page); + ZPage* const prev_page = Atomic::cmpxchg(shared_page, page, new_page); if (prev_page != page) { if (prev_page == NULL) { // Previous page was retired, retry installing the new page