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:
parent
347b95d500
commit
7a51b4a8fa
src/hotspot/share/classfile
@ -655,7 +655,7 @@ Dictionary* ClassLoaderData::create_dictionary() {
|
||||
size = _default_loader_dictionary_size;
|
||||
resizable = true;
|
||||
}
|
||||
if (!DynamicallyResizeSystemDictionaries || DumpSharedSpaces || UseSharedSpaces) {
|
||||
if (!DynamicallyResizeSystemDictionaries || DumpSharedSpaces) {
|
||||
resizable = false;
|
||||
}
|
||||
return new Dictionary(this, size, resizable);
|
||||
|
@ -592,8 +592,8 @@ void Dictionary::print_on(outputStream* st) const {
|
||||
ResourceMark rm;
|
||||
|
||||
assert(loader_data() != NULL, "loader data should not be null");
|
||||
st->print_cr("Java dictionary (table_size=%d, classes=%d)",
|
||||
table_size(), number_of_entries());
|
||||
st->print_cr("Java dictionary (table_size=%d, classes=%d, resizable=%s)",
|
||||
table_size(), number_of_entries(), BOOL_TO_STR(_resizable));
|
||||
st->print_cr("^ indicates that initiating loader is different from defining loader");
|
||||
|
||||
for (int index = 0; index < table_size(); index++) {
|
||||
|
@ -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 */);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user