< prev index next >
src/share/vm/oops/klass.cpp
Print this page
@@ -453,10 +453,16 @@
// Clean the implementors list and method data.
if (clean_alive_klasses && current->oop_is_instance()) {
InstanceKlass* ik = InstanceKlass::cast(current);
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);
+ }
}
}
}
void Klass::klass_update_barrier_set(oop v) {
< prev index next >