Mercurial > hg > graal-jvmci-8
comparison src/share/vm/classfile/verifier.cpp @ 12142:76482cbba706
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
author | hseigel |
---|---|
date | Thu, 29 Aug 2013 10:33:13 -0400 |
parents | 92ef81e2f571 |
children | 3a1df0dce3e5 |
comparison
equal
deleted
inserted
replaced
12141:cc56f122f3f7 | 12142:76482cbba706 |
---|---|
2316 break; | 2316 break; |
2317 case Bytecodes::_invokedynamic: | 2317 case Bytecodes::_invokedynamic: |
2318 types = 1 << JVM_CONSTANT_InvokeDynamic; | 2318 types = 1 << JVM_CONSTANT_InvokeDynamic; |
2319 break; | 2319 break; |
2320 case Bytecodes::_invokespecial: | 2320 case Bytecodes::_invokespecial: |
2321 types = (1 << JVM_CONSTANT_InterfaceMethodref) | | |
2322 (1 << JVM_CONSTANT_Methodref); | |
2323 break; | |
2324 case Bytecodes::_invokestatic: | 2321 case Bytecodes::_invokestatic: |
2325 types = (_klass->major_version() < STATIC_METHOD_IN_INTERFACE_MAJOR_VERSION) ? | 2322 types = (_klass->major_version() < STATIC_METHOD_IN_INTERFACE_MAJOR_VERSION) ? |
2326 (1 << JVM_CONSTANT_Methodref) : | 2323 (1 << JVM_CONSTANT_Methodref) : |
2327 ((1 << JVM_CONSTANT_InterfaceMethodref) | (1 << JVM_CONSTANT_Methodref)); | 2324 ((1 << JVM_CONSTANT_InterfaceMethodref) | (1 << JVM_CONSTANT_Methodref)); |
2328 break; | 2325 break; |