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

Allow resizing for all system dictionaries except for the shared dictionary at runtime.

Reviewed-by: iklam, gziemski
This commit is contained in:
Jiangli Zhou 2018-08-24 15:33:28 -04:00
parent 347b95d500
commit 7a51b4a8fa
3 changed files with 6 additions and 4 deletions

View file

@ -1160,10 +1160,12 @@ InstanceKlass* SystemDictionary::resolve_from_stream(Symbol* class_name,
#if INCLUDE_CDS
void SystemDictionary::set_shared_dictionary(HashtableBucket<mtClass>* t, int length,
int number_of_entries) {
assert(!DumpSharedSpaces, "Should not be called with DumpSharedSpaces");
assert(length == _shared_dictionary_size * sizeof(HashtableBucket<mtClass>),
"bad shared dictionary size.");
_shared_dictionary = new Dictionary(ClassLoaderData::the_null_class_loader_data(),
_shared_dictionary_size, t, number_of_entries);
_shared_dictionary_size, t, number_of_entries,
false /* explicitly set _resizable to false */);
}