RFR (S): 8208061: runtime/LoadClass/TestResize.java fails with "Load factor too high" when running in CDS mode
jiangli.zhou at oracle.com
Fri Aug 24 17:44:11 UTC 2018
Thanks for review the change.
On 8/24/18 7:46 AM, Gerard Ziemski wrote:
> hi Jiangli,
> Just to make sure I follow your fix, the change to src/hotspot/share/classfile/classLoaderData.cpp is the only one that is actually required and the change to src/hotspot/share/classfile/systemDictionary.cpp is just about making it explicit for the reader?
Yes. The 'resizable' argument is false by default in
Dictionary(ClassLoaderData*, int, bool) (dictionary.hpp). The change in
systemDictionary.cpp is to prevent any future issue in case the
'resizable' argument default value changes.
> Looks good.
>> On Aug 23, 2018, at 7:40 PM, Jiangli Zhou <jiangli.zhou at oracle.com> 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.
More information about the hotspot-runtime-dev