mirror of
https://github.com/openjdk/jdk.git
synced 2026-03-18 11:53:17 +00:00
8029383: assert(counter_changed) failed: failed dependencies, but counter didn't change
No call to SystemDictionary::notice_modification() when class is defined through Unsafe.defineAnonymousClass() can caused missed dependency change. Reviewed-by: kvn, twisti
This commit is contained in:
parent
da079783f8
commit
bbb97e5b39
@ -1049,6 +1049,9 @@ Klass* SystemDictionary::parse_stream(Symbol* class_name,
|
||||
add_to_hierarchy(k, CHECK_NULL); // No exception, but can block
|
||||
|
||||
// But, do not add to system dictionary.
|
||||
|
||||
// compiled code dependencies need to be validated anyway
|
||||
notice_modification();
|
||||
}
|
||||
|
||||
// Rewrite and patch constant pool here.
|
||||
|
||||
@ -147,9 +147,6 @@ void VM_RedefineClasses::doit() {
|
||||
_scratch_classes[i] = NULL;
|
||||
}
|
||||
|
||||
// Disable any dependent concurrent compilations
|
||||
SystemDictionary::notice_modification();
|
||||
|
||||
// Set flag indicating that some invariants are no longer true.
|
||||
// See jvmtiExport.hpp for detailed explanation.
|
||||
JvmtiExport::set_has_redefined_a_class();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user