< prev index next >
src/hotspot/share/classfile/classLoaderDataShared.cpp
Print this page
*** 27,36 ****
--- 27,39 ----
#include "classfile/classLoaderDataShared.hpp"
#include "classfile/moduleEntry.hpp"
#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<PackageEntry*>* _packages;
Array<ModuleEntry*>* _modules;
*** 123,157 ****
ClassLoaderData* ClassLoaderDataShared::java_system_loader_data_or_null() {
return ClassLoaderData::class_loader_data_or_null(SystemDictionary::java_system_loader());
}
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());
- }
}
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());
- }
}
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());
- }
}
void ClassLoaderDataShared::serialize(class SerializeClosure* f) {
_archived_boot_loader_data.serialize(f);
_archived_platform_loader_data.serialize(f);
--- 126,154 ----
ClassLoaderData* ClassLoaderDataShared::java_system_loader_data_or_null() {
return ClassLoaderData::class_loader_data_or_null(SystemDictionary::java_system_loader());
}
void ClassLoaderDataShared::allocate_archived_tables() {
! 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 && 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 && 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) {
_archived_boot_loader_data.serialize(f);
_archived_platform_loader_data.serialize(f);
*** 165,187 ****
log_info(cds)("use_full_module_graph = true; java.base = " INTPTR_FORMAT,
p2i(_archived_javabase_moduleEntry));
}
}
! 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);
! }
}
void ClassLoaderDataShared::restore_java_platform_loader_from_archive(ClassLoaderData* loader_data) {
! assert(UseSharedSpaces, "must be");
! assert(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");
_archived_system_loader_data.restore(loader_data, true, true);
}
--- 162,183 ----
log_info(cds)("use_full_module_graph = true; java.base = " INTPTR_FORMAT,
p2i(_archived_javabase_moduleEntry));
}
}
! 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 && 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 && MetaspaceShared::use_full_module_graph(), "must be");
_archived_system_loader_data.restore(loader_data, true, true);
}
+
+ #endif // INCLUDE_CDS_JAVA_HEAP
< prev index next >