mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 02:54:35 +02:00
8156137: SIGSEGV in ReceiverTypeData::clean_weak_klass_links
Process previous versions in Klass::clean_weak_klass_links() Reviewed-by: coleenp, sspitsyn, stefank, dcubed
This commit is contained in:
parent
b2c1c48604
commit
2baffbf490
1 changed files with 6 additions and 0 deletions
|
@ -431,6 +431,12 @@ void Klass::clean_weak_klass_links(BoolObjectClosure* is_alive, bool clean_alive
|
||||||
if (clean_alive_klasses && current->is_instance_klass()) {
|
if (clean_alive_klasses && current->is_instance_klass()) {
|
||||||
InstanceKlass* ik = InstanceKlass::cast(current);
|
InstanceKlass* ik = InstanceKlass::cast(current);
|
||||||
ik->clean_weak_instanceklass_links(is_alive);
|
ik->clean_weak_instanceklass_links(is_alive);
|
||||||
|
|
||||||
|
// JVMTI RedefineClasses creates previous versions that are not in
|
||||||
|
// the class hierarchy, so process them here.
|
||||||
|
while ((ik = ik->previous_versions()) != NULL) {
|
||||||
|
ik->clean_weak_instanceklass_links(is_alive);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue