--- old/src/hotspot/share/gc/parallel/psScavenge.cpp 2018-03-21 16:41:07.735888051 +0100 +++ new/src/hotspot/share/gc/parallel/psScavenge.cpp 2018-03-21 16:41:07.535888058 +0100 @@ -47,6 +47,8 @@ #include "gc/shared/weakProcessor.hpp" #include "memory/resourceArea.hpp" #include "logging/log.hpp" +#include "oops/access.inline.hpp" +#include "oops/compressedOops.inline.hpp" #include "oops/oop.inline.hpp" #include "runtime/biasedLocking.hpp" #include "runtime/handles.inline.hpp" @@ -93,8 +95,7 @@ } template void do_oop_work(T* p) { - assert (!oopDesc::is_null(*p), "expected non-null ref"); - assert (oopDesc::is_oop(oopDesc::load_decode_heap_oop_not_null(p)), + assert (oopDesc::is_oop(RawAccess::oop_load(p)), "expected an oop while scanning weak refs"); // Weak refs may be visited more than once. @@ -738,7 +739,7 @@ void PSScavenge::set_young_generation_boundary(HeapWord* v) { _young_generation_boundary = v; if (UseCompressedOops) { - _young_generation_boundary_compressed = (uintptr_t)oopDesc::encode_heap_oop((oop)v); + _young_generation_boundary_compressed = (uintptr_t)CompressedOops::encode((oop)v); } }