mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +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
|
@ -221,6 +221,7 @@ class ClassLoaderData : public CHeapObj<mtClass> {
|
|||
|
||||
Klass* volatile _klasses; // The classes defined by the class loader.
|
||||
PackageEntryTable* volatile _packages; // The packages defined by the class loader.
|
||||
ModuleEntry* _unnamed_module; // This class loader's unnamed module.
|
||||
ModuleEntryTable* volatile _modules; // The modules defined by the class loader.
|
||||
|
||||
// These method IDs are created for the class loader and set to NULL when the
|
||||
|
@ -348,6 +349,7 @@ class ClassLoaderData : public CHeapObj<mtClass> {
|
|||
void init_dependencies(TRAPS);
|
||||
PackageEntryTable* packages();
|
||||
bool packages_defined() { return (_packages != NULL); }
|
||||
ModuleEntry* unnamed_module() { return _unnamed_module; }
|
||||
ModuleEntryTable* modules();
|
||||
bool modules_defined() { return (_modules != NULL); }
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue