< prev index next >

src/hotspot/share/memory/heapShared.cpp

Print this page

@@ -21,10 +21,12 @@
  * questions.
  *
  */
 
 #include "precompiled.hpp"
+#include "classfile/classLoaderData.hpp"
+#include "classfile/classLoaderDataShared.hpp"
 #include "classfile/javaClasses.inline.hpp"
 #include "classfile/moduleEntry.hpp"
 #include "classfile/stringTable.hpp"
 #include "classfile/symbolTable.hpp"
 #include "classfile/systemDictionary.hpp"

@@ -79,17 +81,15 @@
   {"java/util/jar/Attributes$Name",               0, "KNOWN_NAMES"},
   {"sun/util/locale/BaseLocale",                  0, "constantBaseLocales"},
 };
 // Entry fields for subgraphs archived in the open archive heap region.
 static ArchivableStaticFieldInfo open_archive_subgraph_entry_fields[] = {
-  {"jdk/internal/loader/BuiltinClassLoader$ArchivedData",         1, "packageToModule"},
-  {"jdk/internal/loader/BootLoader$ArchivedData",                 1, "servicesCatalog"},
-  {"jdk/internal/loader/ClassLoaders$ArchivedData",               1, "singleton"},
-  {"jdk/internal/module/ModuleBootstrap$ArchivedBootLayer",       1, "archivedBootLayer"},
+  {"jdk/internal/loader/ArchivedClassLoaders",                    1, "archivedClassLoaders"},
+  {"jdk/internal/module/ArchivedBootLayer",                       1, "archivedBootLayer"},
   {"jdk/internal/module/ArchivedModuleGraph",                     0, "archivedModuleGraph"},
   {"java/util/ImmutableCollections",                              0, "archivedObjects"},
-  {"java/lang/Module$ArchivedData",                               1, "singleton"},
+  {"java/lang/Module$ArchivedData",                               1, "archivedData"},
   {"java/lang/module/Configuration",                              0, "EMPTY_CONFIGURATION"},
   {"jdk/internal/math/FDBigInteger",                              0, "archivedCaches"},
 };
 
 const static int num_closed_archive_subgraph_entry_fields =

@@ -137,10 +137,11 @@
     klass = klass->java_super();
   }
 }
 
 void HeapShared::reset_archived_object_states(TRAPS) {
+  assert(DumpSharedSpaces, "dump-time only");
   log_debug(cds)("Resetting platform loader");
   reset_states(SystemDictionary::java_platform_loader(), THREAD);
   log_debug(cds)("Resetting system loader");
   reset_states(SystemDictionary::java_system_loader(), THREAD);
 }

@@ -268,11 +269,11 @@
     copy_closed_archive_heap_objects(closed);
 
     log_info(cds)("Dumping objects to open archive heap region ...");
     copy_open_archive_heap_objects(open);
 
-    ClassLoaderData::init_archived_oops();
+    ClassLoaderDataShared::init_archived_oops();
 
     destroy_archived_object_cache();
   }
 
   G1HeapVerifier::verify_archive_regions();

@@ -758,13 +759,10 @@
       }
     }
 
     if (java_lang_Module::is_instance(orig_obj)) {
       check_module_oop(orig_obj);
-    }
-
-    if (java_lang_Module::is_instance(orig_obj)) {
       java_lang_Module::set_module_entry(archived_obj, NULL);
       java_lang_Module::set_loader(archived_obj, NULL);
     } else if (java_lang_ClassLoader::is_instance(orig_obj)) {
       // class_data will be restored explicitly at run time. 
       guarantee(orig_obj == SystemDictionary::java_platform_loader() ||
< prev index next >