mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02: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
2 changed files with 3 additions and 3 deletions
|
@ -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…
Add table
Add a link
Reference in a new issue