--- old/src/hotspot/share/classfile/classLoaderDataShared.cpp 2020-08-31 08:10:33.194397492 -0700 +++ new/src/hotspot/share/classfile/classLoaderDataShared.cpp 2020-08-31 08:10:32.966388909 -0700 @@ -29,6 +29,9 @@ #include "classfile/packageEntry.hpp" #include "logging/log.hpp" #include "memory/metaspaceShared.hpp" +#include "runtime/handles.inline.hpp" + +#if INCLUDE_CDS_JAVA_HEAP class ArchivedClassLoaderData { Array* _packages; @@ -125,31 +128,25 @@ } void ClassLoaderDataShared::allocate_archived_tables() { - assert(DumpSharedSpaces, "must be"); - if (MetaspaceShared::use_full_module_graph()) { - _archived_boot_loader_data.allocate (null_class_loader_data()); - _archived_platform_loader_data.allocate(java_platform_loader_data_or_null()); - _archived_system_loader_data.allocate (java_system_loader_data_or_null()); - } + assert(DumpSharedSpaces && MetaspaceShared::use_full_module_graph(), "must be"); + _archived_boot_loader_data.allocate (null_class_loader_data()); + _archived_platform_loader_data.allocate(java_platform_loader_data_or_null()); + _archived_system_loader_data.allocate (java_system_loader_data_or_null()); } void ClassLoaderDataShared::init_archived_tables() { - assert(DumpSharedSpaces, "must be"); - if (MetaspaceShared::use_full_module_graph()) { - _archived_boot_loader_data.init_archived_entries (null_class_loader_data()); - _archived_platform_loader_data.init_archived_entries(java_platform_loader_data_or_null()); - _archived_system_loader_data.init_archived_entries (java_system_loader_data_or_null()); - _archived_javabase_moduleEntry = ModuleEntry::get_archived_entry(ModuleEntryTable::javabase_moduleEntry()); - } + assert(DumpSharedSpaces && MetaspaceShared::use_full_module_graph(), "must be"); + _archived_boot_loader_data.init_archived_entries (null_class_loader_data()); + _archived_platform_loader_data.init_archived_entries(java_platform_loader_data_or_null()); + _archived_system_loader_data.init_archived_entries (java_system_loader_data_or_null()); + _archived_javabase_moduleEntry = ModuleEntry::get_archived_entry(ModuleEntryTable::javabase_moduleEntry()); } void ClassLoaderDataShared::init_archived_oops() { - assert(DumpSharedSpaces, "must be"); - if (MetaspaceShared::use_full_module_graph()) { - _archived_boot_loader_data.init_archived_oops (null_class_loader_data()); - _archived_platform_loader_data.init_archived_oops(java_platform_loader_data_or_null()); - _archived_system_loader_data.init_archived_oops (java_system_loader_data_or_null()); - } + assert(DumpSharedSpaces && MetaspaceShared::use_full_module_graph(), "must be"); + _archived_boot_loader_data.init_archived_oops (null_class_loader_data()); + _archived_platform_loader_data.init_archived_oops(java_platform_loader_data_or_null()); + _archived_system_loader_data.init_archived_oops (java_system_loader_data_or_null()); } void ClassLoaderDataShared::serialize(class SerializeClosure* f) { @@ -167,21 +164,20 @@ } } -void ClassLoaderDataShared::restore_archived_oops_for_null_class_loader_data() { - assert(UseSharedSpaces, "must be"); - if (MetaspaceShared::use_full_module_graph()) { - _archived_boot_loader_data.restore(null_class_loader_data(), false, true); - } +oop ClassLoaderDataShared::restore_archived_oops_for_null_class_loader_data() { + assert(UseSharedSpaces && MetaspaceShared::use_full_module_graph(), "must be"); + _archived_boot_loader_data.restore(null_class_loader_data(), false, true); + return _archived_javabase_moduleEntry->module(); } void ClassLoaderDataShared::restore_java_platform_loader_from_archive(ClassLoaderData* loader_data) { - assert(UseSharedSpaces, "must be"); - assert(MetaspaceShared::use_full_module_graph(), "must be"); + assert(UseSharedSpaces && MetaspaceShared::use_full_module_graph(), "must be"); _archived_platform_loader_data.restore(loader_data, true, true); } void ClassLoaderDataShared::restore_java_system_loader_from_archive(ClassLoaderData* loader_data) { - assert(UseSharedSpaces, "must be"); - assert(MetaspaceShared::use_full_module_graph(), "must be"); + assert(UseSharedSpaces && MetaspaceShared::use_full_module_graph(), "must be"); _archived_system_loader_data.restore(loader_data, true, true); } + +#endif // INCLUDE_CDS_JAVA_HEAP