src/hotspot/share/prims/jvmtiRedefineClasses.cpp
changeset 53924 09cba396916f
parent 53904 9c3fe09f69bc
child 54355 f226ab0b7f21
--- a/src/hotspot/share/prims/jvmtiRedefineClasses.cpp	Wed Feb 13 12:01:09 2019 +0100
+++ b/src/hotspot/share/prims/jvmtiRedefineClasses.cpp	Tue Feb 26 08:01:20 2019 -0500
@@ -3525,6 +3525,15 @@
              "should be replaced");
     }
   }
+  // Update deleted jmethodID
+  for (int j = 0; j < _deleted_methods_length; ++j) {
+    Method* old_method = _deleted_methods[j];
+    jmethodID jmid = old_method->find_jmethod_id_or_null();
+    if (jmid != NULL) {
+      // Change the jmethodID to point to NSME.
+      Method::change_method_associated_with_jmethod_id(jmid, Universe::throw_no_such_method_error());
+    }
+  }
 }
 
 int VM_RedefineClasses::check_methods_and_mark_as_obsolete() {