mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 14:54:52 +02:00
8176472: Lazily create ModuleEntryTable
Moved the unnamed module out of the ModuleEntryTable and into the ClassLoaderData so that the MET can be lazily created only when other modules are present. Also a smaller PackageTable size. Reviewed-by: gtriantafill, hseigel, lfoltan, coleenp
This commit is contained in:
parent
2327609d91
commit
ca72444bf9
9 changed files with 112 additions and 57 deletions
|
@ -2257,9 +2257,9 @@ ModuleEntry* InstanceKlass::module() const {
|
|||
}
|
||||
const Klass* host = host_klass();
|
||||
if (host == NULL) {
|
||||
return class_loader_data()->modules()->unnamed_module();
|
||||
return class_loader_data()->unnamed_module();
|
||||
}
|
||||
return host->class_loader_data()->modules()->unnamed_module();
|
||||
return host->class_loader_data()->unnamed_module();
|
||||
}
|
||||
|
||||
void InstanceKlass::set_package(ClassLoaderData* loader_data, TRAPS) {
|
||||
|
@ -2289,9 +2289,9 @@ void InstanceKlass::set_package(ClassLoaderData* loader_data, TRAPS) {
|
|||
assert(ModuleEntryTable::javabase_moduleEntry() != NULL, JAVA_BASE_NAME " module is NULL");
|
||||
_package_entry = loader_data->packages()->lookup(pkg_name, ModuleEntryTable::javabase_moduleEntry());
|
||||
} else {
|
||||
assert(loader_data->modules()->unnamed_module() != NULL, "unnamed module is NULL");
|
||||
assert(loader_data->unnamed_module() != NULL, "unnamed module is NULL");
|
||||
_package_entry = loader_data->packages()->lookup(pkg_name,
|
||||
loader_data->modules()->unnamed_module());
|
||||
loader_data->unnamed_module());
|
||||
}
|
||||
|
||||
// A package should have been successfully created
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue