< 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 >