--- old/src/hotspot/share/gc/parallel/psCompactionManager.inline.hpp 2018-03-21 16:41:05.995888111 +0100 +++ new/src/hotspot/share/gc/parallel/psCompactionManager.inline.hpp 2018-03-21 16:41:05.791888119 +0100 @@ -29,7 +29,9 @@ #include "gc/parallel/psCompactionManager.hpp" #include "gc/parallel/psParallelCompact.inline.hpp" #include "gc/shared/taskqueue.inline.hpp" +#include "oops/access.inline.hpp" #include "oops/arrayOop.inline.hpp" +#include "oops/compressedOops.inline.hpp" #include "oops/objArrayOop.inline.hpp" #include "oops/oop.inline.hpp" #include "utilities/debug.hpp" @@ -71,9 +73,9 @@ template inline void ParCompactionManager::mark_and_push(T* p) { - T heap_oop = oopDesc::load_heap_oop(p); - if (!oopDesc::is_null(heap_oop)) { - oop obj = oopDesc::decode_heap_oop_not_null(heap_oop); + T heap_oop = RawAccess<>::oop_load(p); + if (!CompressedOops::is_null(heap_oop)) { + oop obj = CompressedOops::decode_not_null(heap_oop); assert(ParallelScavengeHeap::heap()->is_in(obj), "should be in heap"); if (mark_bitmap()->is_unmarked(obj) && PSParallelCompact::mark_obj(obj)) {