--- old/src/hotspot/share/gc/parallel/psScavenge.inline.hpp 2018-03-22 16:37:42.772885528 +0100 +++ new/src/hotspot/share/gc/parallel/psScavenge.inline.hpp 2018-03-22 16:37:42.576885535 +0100 @@ -31,6 +31,7 @@ #include "logging/log.hpp" #include "memory/iterator.hpp" #include "memory/resourceArea.hpp" +#include "oops/access.inline.hpp" #include "utilities/globalDefinitions.hpp" inline void PSScavenge::save_to_space_top_before_gc() { @@ -39,14 +40,14 @@ } template inline bool PSScavenge::should_scavenge(T* p) { - T heap_oop = oopDesc::load_heap_oop(p); + T heap_oop = RawAccess<>::oop_load(p); return PSScavenge::is_obj_in_young(heap_oop); } template inline bool PSScavenge::should_scavenge(T* p, MutableSpace* to_space) { if (should_scavenge(p)) { - oop obj = oopDesc::load_decode_heap_oop_not_null(p); + oop obj = RawAccess::oop_load(p); // Skip objects copied to to_space since the scavenge started. HeapWord* const addr = (HeapWord*)obj; return addr < to_space_top_before_gc() || addr >= to_space->end(); @@ -107,7 +108,7 @@ } else { new_obj = _pm->copy_to_survivor_space(o); } - oopDesc::encode_store_heap_oop_not_null(p, new_obj); + RawAccess<>::oop_store(p, new_obj); if (PSScavenge::is_obj_in_young(new_obj)) { do_cld_barrier();