8016764: JVM does not prohibit invokespecial in c.f.v 51.0 that invokes default interface method in c.f.v 52.0

Thu, 29 Aug 2013 10:33:13 -0400

author
hseigel
date
Thu, 29 Aug 2013 10:33:13 -0400
changeset 5610
76482cbba706
parent 5609
cc56f122f3f7
child 5611
dfc126b2f659
child 5612
d8e99408faad

8016764: JVM does not prohibit invokespecial in c.f.v 51.0 that invokes default interface method in c.f.v 52.0
Summary: Check cfv before allowing invokespecial call to default method.
Reviewed-by: kamg, acorn, dholmes

src/share/vm/classfile/verifier.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/vm/classfile/verifier.cpp	Thu Aug 29 11:05:55 2013 +0200
     1.2 +++ b/src/share/vm/classfile/verifier.cpp	Thu Aug 29 10:33:13 2013 -0400
     1.3 @@ -2318,9 +2318,6 @@
     1.4        types = 1 << JVM_CONSTANT_InvokeDynamic;
     1.5        break;
     1.6      case Bytecodes::_invokespecial:
     1.7 -      types = (1 << JVM_CONSTANT_InterfaceMethodref) |
     1.8 -              (1 << JVM_CONSTANT_Methodref);
     1.9 -      break;
    1.10      case Bytecodes::_invokestatic:
    1.11        types = (_klass->major_version() < STATIC_METHOD_IN_INTERFACE_MAJOR_VERSION) ?
    1.12          (1 << JVM_CONSTANT_Methodref) :

mercurial