< prev index next >

src/hotspot/share/memory/metaspaceShared.cpp

Print this page
rev 50453 : imported patch 02.removeInArchiveRoot
rev 50454 : imported patch cleanups

@@ -1908,10 +1908,15 @@
   log_debug(cds)("Archived heap object " PTR_FORMAT " ==> " PTR_FORMAT,
                  p2i(obj), p2i(archived_oop));
   return archived_oop;
 }
 
+oop MetaspaceShared::unarchive_heap_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++) {
     Klass* k = _global_klass_objects->at(i);
 

@@ -1978,11 +1983,11 @@
     } else {
       assert(MetaspaceShared::is_heap_object_archiving_allowed(),
              "Archived heap object is not allowed");
       assert(MetaspaceShared::open_archive_heap_region_mapped(),
              "Open archive heap region is not mapped");
-      RootAccess<IN_ARCHIVE_ROOT>::oop_store(p, CompressedOops::decode_not_null(o));
+      *p = CompressedOops::decode_not_null(o);
     }
   }
 
   void do_region(u_char* start, size_t size) {
     assert((intptr_t)start % sizeof(intptr_t) == 0, "bad alignment");
< prev index next >