RFR (S): 8208061: runtime/LoadClass/TestResize.java fails with "Load factor too high" when running in CDS mode

Ioi Lam ioi.lam at oracle.com
Fri Aug 24 04:13:44 UTC 2018


Hi Jiangli,

The changes look good. I have a couple of suggestions:


classLoaderData.cpp:

   if (!DynamicallyResizeSystemDictionaries || DumpSharedSpaces) {

I think we can also remove the DumpSharedSpaces condition. As far as I 
know, during dump time, we use the ClassLoaderData API to access the 
dictionaries, so even if the dictionary is resized we should be OK.

systemDictionary.cpp

SystemDictionary::set_shared_dictionary:

I think we should add an assert:

   assert(!DumpSharedSpaces, "Should not be called with DumpSharedSpaces");


Thanks
- Ioi


On 8/23/18 5:40 PM, Jiangli Zhou wrote:
> Please review the bug fix for JDK-8208061. The 
> runtime/LoadClass/TestResize.java test failed with "Load factor too 
> high" when running with CDS enabled at runtime. Dictionary resizing 
> was disable when UseSharedSpaces was true, which caused the failure.
>
> The fix is to allow resizing for all system dictionaries except for 
> the shared dictionary at runtime. The shared dictionary data are from 
> mapped CDS archive and does not change at runtime, so resizing is not 
> required. The change also adds 'resizable' information to the log 
> output in Dictionary::print_on().
>
> webrev: http://cr.openjdk.java.net/~jiangli/8208061/webrev.00
> bug: https://bugs.openjdk.java.net/browse/JDK-8208061
>
> Verified with TestResize.java running locally with CDS enabled. Tier1 
> - tier5 tests are in progress.
>
> Thanks,
>
> Jiangli
>



More information about the hotspot-runtime-dev mailing list