RFR: 8176472: Lazily create ModuleEntryTable

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Fri Apr 14 19:29:58 UTC 2017

On 4/14/17 2:25 PM, Lois Foltan wrote:
> Hi Rachel,
> Looks good.  One minor comment:
> src/share/vm/classfile/classLoaderData.cpp
> - line #565, since you construct the unnamed module via a method in 
> ModuleEntryTable, please consider adding another method to delete it.  
> That way you can put in that method a comment explaining why it does 
> not need to have "unlink_entry" called on it as well since it is not 
> in the hashtable.

I agree with this.  It's surprising to see FREE_C_HEAP_ARRAY and I've 
run into this lately myself.

> Thanks,
> Lois
> On 4/14/2017 10:34 AM, Rachel Protacio wrote:
>> Hello!
>> Please review this enhancement which moves 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. The 
>> PackageTable size has also been updated to be more realistic. These 
>> two changes save the VM from losing memory space unnecessarily in the 
>> module data structures.
>> Tested with JPRT and RBT tiers 2-5.
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8176472
>> Open webrev: http://cr.openjdk.java.net/~rprotacio/8176472.00/
>> Thank you,
>> Rachel

More information about the hotspot-runtime-dev mailing list