mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 07:14:30 +02:00
8222446: assert(C->env()->system_dictionary_modification_counter_changed()) failed: Must invalidate if TypeFuncs differ
Remove SystemDictionary::modification_counter optimization Reviewed-by: dlong, eosterlund
This commit is contained in:
parent
475cf213d9
commit
04b98fd1df
16 changed files with 21 additions and 139 deletions
|
@ -98,7 +98,6 @@ ResolutionErrorTable* SystemDictionary::_resolution_errors = NULL;
|
|||
SymbolPropertyTable* SystemDictionary::_invoke_method_table = NULL;
|
||||
ProtectionDomainCacheTable* SystemDictionary::_pd_cache_table = NULL;
|
||||
|
||||
int SystemDictionary::_number_of_modifications = 0;
|
||||
oop SystemDictionary::_system_loader_lock_obj = NULL;
|
||||
|
||||
InstanceKlass* SystemDictionary::_well_known_klasses[SystemDictionary::WKID_LIMIT]
|
||||
|
@ -1039,11 +1038,7 @@ InstanceKlass* SystemDictionary::parse_stream(Symbol* class_name,
|
|||
// Add to class hierarchy, initialize vtables, and do possible
|
||||
// deoptimizations.
|
||||
add_to_hierarchy(k, CHECK_NULL); // No exception, but can block
|
||||
|
||||
// But, do not add to dictionary.
|
||||
|
||||
// compiled code dependencies need to be validated anyway
|
||||
notice_modification();
|
||||
}
|
||||
|
||||
// Rewrite and patch constant pool here.
|
||||
|
@ -1880,7 +1875,6 @@ void SystemDictionary::methods_do(void f(Method*)) {
|
|||
void SystemDictionary::initialize(TRAPS) {
|
||||
// Allocate arrays
|
||||
_placeholders = new PlaceholderTable(_placeholder_table_size);
|
||||
_number_of_modifications = 0;
|
||||
_loader_constraints = new LoaderConstraintTable(_loader_constraint_size);
|
||||
_resolution_errors = new ResolutionErrorTable(_resolution_error_size);
|
||||
_invoke_method_table = new SymbolPropertyTable(_invoke_method_size);
|
||||
|
@ -2164,8 +2158,6 @@ void SystemDictionary::update_dictionary(unsigned int d_hash,
|
|||
InstanceKlass* sd_check = find_class(d_hash, name, dictionary);
|
||||
if (sd_check == NULL) {
|
||||
dictionary->add_klass(d_hash, name, k);
|
||||
|
||||
notice_modification();
|
||||
}
|
||||
#ifdef ASSERT
|
||||
sd_check = find_class(d_hash, name, dictionary);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue