# HG changeset patch # User kamg # Date 1336075036 14400 # Node ID 158d5b869cf10d5817f236d3b68985990b0d4040 # Parent 031bc89014f7b789407ea73a3cff022ff63eaabc 7160757: Problem with hotspot/runtime_classfile Summary: Allow only current and super invokespecials of Reviewed-by: never, coleenp, dcubed diff -r 031bc89014f7 -r 158d5b869cf1 src/share/vm/classfile/verifier.cpp --- a/src/share/vm/classfile/verifier.cpp Wed Apr 11 17:38:20 2012 -0700 +++ b/src/share/vm/classfile/verifier.cpp Thu May 03 15:57:16 2012 -0400 @@ -1880,10 +1880,10 @@ VerificationType type = current_frame->pop_stack( VerificationType::reference_check(), CHECK_VERIFY(this)); if (type == VerificationType::uninitialized_this_type()) { - // The method must be an method of either this class, or one of its - // superclasses + // The method must be an method of this class or its superclass + klassOop superk = current_class()->super(); if (ref_class_type.name() != current_class()->name() && - !name_in_supers(ref_class_type.name(), current_class())) { + ref_class_type.name() != superk->klass_part()->name()) { verify_error(bci, "Bad method call"); return; }