diff -r aeb7fb702890 -r a18c60527166 src/hotspot/share/memory/metaspaceShared.cpp --- a/src/hotspot/share/memory/metaspaceShared.cpp Tue Jun 12 14:08:24 2018 -0700 +++ b/src/hotspot/share/memory/metaspaceShared.cpp Tue Jun 12 18:12:59 2018 -0400 @@ -1910,6 +1910,11 @@ return archived_oop; } +oop MetaspaceShared::materialize_archived_object(oop obj) { + assert(obj != NULL, "sanity"); + return G1CollectedHeap::heap()->materialize_archived_object(obj); +} + void MetaspaceShared::archive_klass_objects(Thread* THREAD) { int i; for (i = 0; i < _global_klass_objects->length(); i++) { @@ -1980,7 +1985,7 @@ "Archived heap object is not allowed"); assert(MetaspaceShared::open_archive_heap_region_mapped(), "Open archive heap region is not mapped"); - RootAccess::oop_store(p, CompressedOops::decode_not_null(o)); + *p = CompressedOops::decode_not_null(o); } }