--- old/src/hotspot/share/gc/g1/g1CollectedHeap.cpp 2018-03-22 16:37:36.320885753 +0100 +++ new/src/hotspot/share/gc/g1/g1CollectedHeap.cpp 2018-03-22 16:37:36.120885760 +0100 @@ -77,6 +77,8 @@ #include "memory/allocation.hpp" #include "memory/iterator.hpp" #include "memory/resourceArea.hpp" +#include "oops/access.inline.hpp" +#include "oops/compressedOops.inline.hpp" #include "oops/oop.inline.hpp" #include "prims/resolvedMethodTable.hpp" #include "runtime/atomic.hpp" @@ -3810,7 +3812,7 @@ virtual void do_oop( oop* p) { do_oop_work(p); } template void do_oop_work(T* p) { - oop obj = oopDesc::load_decode_heap_oop(p); + oop obj = RawAccess<>::oop_load(p); if (_g1h->is_in_cset_or_humongous(obj)) { // If the referent object has been forwarded (either copied @@ -5215,9 +5217,9 @@ nmethod* _nm; template void do_oop_work(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); HeapRegion* hr = _g1h->heap_region_containing(obj); assert(!hr->is_continues_humongous(), "trying to add code root " PTR_FORMAT " in continuation of humongous region " HR_FORMAT @@ -5242,9 +5244,9 @@ nmethod* _nm; template void do_oop_work(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); HeapRegion* hr = _g1h->heap_region_containing(obj); assert(!hr->is_continues_humongous(), "trying to remove code root " PTR_FORMAT " in continuation of humongous region " HR_FORMAT