src/hotspot/share/prims/jvmtiRedefineClasses.cpp
changeset 53924 09cba396916f
parent 53904 9c3fe09f69bc
child 54355 f226ab0b7f21
equal deleted inserted replaced
53923:c431ab7f9e85 53924:09cba396916f
  3521       // There is a jmethodID, change it to point to the new method
  3521       // There is a jmethodID, change it to point to the new method
  3522       methodHandle new_method_h(_matching_new_methods[j]);
  3522       methodHandle new_method_h(_matching_new_methods[j]);
  3523       Method::change_method_associated_with_jmethod_id(jmid, new_method_h());
  3523       Method::change_method_associated_with_jmethod_id(jmid, new_method_h());
  3524       assert(Method::resolve_jmethod_id(jmid) == _matching_new_methods[j],
  3524       assert(Method::resolve_jmethod_id(jmid) == _matching_new_methods[j],
  3525              "should be replaced");
  3525              "should be replaced");
       
  3526     }
       
  3527   }
       
  3528   // Update deleted jmethodID
       
  3529   for (int j = 0; j < _deleted_methods_length; ++j) {
       
  3530     Method* old_method = _deleted_methods[j];
       
  3531     jmethodID jmid = old_method->find_jmethod_id_or_null();
       
  3532     if (jmid != NULL) {
       
  3533       // Change the jmethodID to point to NSME.
       
  3534       Method::change_method_associated_with_jmethod_id(jmid, Universe::throw_no_such_method_error());
  3526     }
  3535     }
  3527   }
  3536   }
  3528 }
  3537 }
  3529 
  3538 
  3530 int VM_RedefineClasses::check_methods_and_mark_as_obsolete() {
  3539 int VM_RedefineClasses::check_methods_and_mark_as_obsolete() {