--- a/src/hotspot/share/oops/methodData.cpp Thu May 03 08:07:20 2018 -0400
+++ b/src/hotspot/share/oops/methodData.cpp Fri Apr 27 15:00:04 2018 -0400
@@ -429,7 +429,7 @@
ReceiverTypeData::clean_weak_method_links();
for (uint row = 0; row < method_row_limit(); row++) {
Method* p = method(row);
- if (p != NULL && !p->on_stack()) {
+ if (p != NULL && p->is_old()) {
clear_method_row(row);
}
}
@@ -1770,6 +1770,8 @@
verify_extra_data_clean(&cl);
}
+// This is called during redefinition to clean all "old" redefined
+// methods out of MethodData for all methods.
void MethodData::clean_weak_method_links() {
ResourceMark rm;
for (ProfileData* data = first_data();