< prev index next >

src/share/vm/prims/jvmtiImpl.cpp

Print this page

        

*** 285,300 **** void JvmtiBreakpoint::each_method_version_do(method_action meth_act) { ((Method*)_method->*meth_act)(_bci); // add/remove breakpoint to/from versions of the method that are EMCP. Thread *thread = Thread::current(); ! instanceKlassHandle ikh = instanceKlassHandle(thread, _method->method_holder()); Symbol* m_name = _method->name(); Symbol* m_signature = _method->signature(); // search previous versions if they exist ! for (InstanceKlass* pv_node = ikh->previous_versions(); pv_node != NULL; pv_node = pv_node->previous_versions()) { Array<Method*>* methods = pv_node->methods(); for (int i = methods->length() - 1; i >= 0; i--) { --- 285,300 ---- void JvmtiBreakpoint::each_method_version_do(method_action meth_act) { ((Method*)_method->*meth_act)(_bci); // add/remove breakpoint to/from versions of the method that are EMCP. Thread *thread = Thread::current(); ! InstanceKlass* ik = _method->method_holder(); Symbol* m_name = _method->name(); Symbol* m_signature = _method->signature(); // search previous versions if they exist ! for (InstanceKlass* pv_node = ik->previous_versions(); pv_node != NULL; pv_node = pv_node->previous_versions()) { Array<Method*>* methods = pv_node->methods(); for (int i = methods->length() - 1; i >= 0; i--) {
*** 694,707 **** JavaThread* cur_thread = JavaThread::current(); HandleMark hm(cur_thread); Handle obj(cur_thread, JNIHandles::resolve_external_guard(jobj)); NULL_CHECK(obj, (_result = JVMTI_ERROR_INVALID_OBJECT, false)); ! KlassHandle ob_kh = KlassHandle(cur_thread, obj->klass()); ! NULL_CHECK(ob_kh, (_result = JVMTI_ERROR_INVALID_OBJECT, false)); ! if (!is_assignable(signature, ob_kh(), cur_thread)) { _result = JVMTI_ERROR_TYPE_MISMATCH; return false; } } return true; --- 694,707 ---- JavaThread* cur_thread = JavaThread::current(); HandleMark hm(cur_thread); Handle obj(cur_thread, JNIHandles::resolve_external_guard(jobj)); NULL_CHECK(obj, (_result = JVMTI_ERROR_INVALID_OBJECT, false)); ! Klass* ob_k = obj->klass(); ! NULL_CHECK(ob_k, (_result = JVMTI_ERROR_INVALID_OBJECT, false)); ! if (!is_assignable(signature, ob_k, cur_thread)) { _result = JVMTI_ERROR_TYPE_MISMATCH; return false; } } return true;
< prev index next >