< prev index next >

src/share/vm/interpreter/linkResolver.cpp

Print this page

        

*** 177,200 **** #ifdef ASSERT // Ensure that this is really the case. KlassHandle object_klass = SystemDictionary::Object_klass(); Method * object_resolved_method = object_klass()->vtable()->method_at(index); assert(object_resolved_method->name() == resolved_method->name(), ! err_msg("Object and interface method names should match at vtable index %d, %s != %s", ! index, object_resolved_method->name()->as_C_string(), resolved_method->name()->as_C_string())); assert(object_resolved_method->signature() == resolved_method->signature(), ! err_msg("Object and interface method signatures should match at vtable index %d, %s != %s", ! index, object_resolved_method->signature()->as_C_string(), resolved_method->signature()->as_C_string())); #endif // ASSERT kind = CallInfo::vtable_call; } else { // A regular interface call. kind = CallInfo::itable_call; index = resolved_method->itable_index(); } ! assert(index == Method::nonvirtual_vtable_index || index >= 0, err_msg("bad index %d", index)); _call_kind = kind; _call_index = index; _resolved_appendix = Handle(); DEBUG_ONLY(verify()); } --- 177,200 ---- #ifdef ASSERT // Ensure that this is really the case. KlassHandle object_klass = SystemDictionary::Object_klass(); Method * object_resolved_method = object_klass()->vtable()->method_at(index); assert(object_resolved_method->name() == resolved_method->name(), ! "Object and interface method names should match at vtable index %d, %s != %s", ! index, object_resolved_method->name()->as_C_string(), resolved_method->name()->as_C_string()); assert(object_resolved_method->signature() == resolved_method->signature(), ! "Object and interface method signatures should match at vtable index %d, %s != %s", ! index, object_resolved_method->signature()->as_C_string(), resolved_method->signature()->as_C_string()); #endif // ASSERT kind = CallInfo::vtable_call; } else { // A regular interface call. kind = CallInfo::itable_call; index = resolved_method->itable_index(); } ! assert(index == Method::nonvirtual_vtable_index || index >= 0, "bad index %d", index); _call_kind = kind; _call_index = index; _resolved_appendix = Handle(); DEBUG_ONLY(verify()); }
*** 213,223 **** break; case CallInfo::unknown_kind: assert(call_kind() != CallInfo::unknown_kind, "CallInfo must be set"); break; default: ! fatal(err_msg_res("Unexpected call kind %d", call_kind())); } } #endif //ASSERT #ifndef PRODUCT --- 213,223 ---- break; case CallInfo::unknown_kind: assert(call_kind() != CallInfo::unknown_kind, "CallInfo must be set"); break; default: ! fatal("Unexpected call kind %d", call_kind()); } } #endif //ASSERT #ifndef PRODUCT
*** 497,507 **** tty->print_cr("*** basic_signature=%s", basic_signature->as_C_string()); tty->print_cr("*** result for %s: ", vmIntrinsics::name_at(iid)); result->print(); } assert(actual_size_of_params == expected_size_of_params, ! err_msg("%d != %d", actual_size_of_params, expected_size_of_params)); #endif //ASSERT assert(appendix_result_or_null != NULL, ""); (*appendix_result_or_null) = appendix; (*method_type_result) = method_type; --- 497,507 ---- tty->print_cr("*** basic_signature=%s", basic_signature->as_C_string()); tty->print_cr("*** result for %s: ", vmIntrinsics::name_at(iid)); result->print(); } assert(actual_size_of_params == expected_size_of_params, ! "%d != %d", actual_size_of_params, expected_size_of_params); #endif //ASSERT assert(appendix_result_or_null != NULL, ""); (*appendix_result_or_null) = appendix; (*method_type_result) = method_type;
< prev index next >