mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 23:34:52 +02:00
8011671: JCK tests on static interface methods fail under b84: Illegal type at constant pool entry 5
Restore incorrect removal of support for static interface method verification in Java 8 Reviewed-by: kvn, coleenp
This commit is contained in:
parent
e722199fc0
commit
be10521e31
1 changed files with 6 additions and 0 deletions
|
@ -63,6 +63,7 @@
|
|||
|
||||
#define NOFAILOVER_MAJOR_VERSION 51
|
||||
#define NONZERO_PADDING_BYTES_IN_SWITCH_MAJOR_VERSION 51
|
||||
#define STATIC_METHOD_IN_INTERFACE_MAJOR_VERSION 52
|
||||
|
||||
// Access to external entry for VerifyClassCodes - old byte code verifier
|
||||
|
||||
|
@ -2320,6 +2321,11 @@ void ClassVerifier::verify_invoke_instructions(
|
|||
types = (1 << JVM_CONSTANT_InterfaceMethodref) |
|
||||
(1 << JVM_CONSTANT_Methodref);
|
||||
break;
|
||||
case Bytecodes::_invokestatic:
|
||||
types = (_klass->major_version() < STATIC_METHOD_IN_INTERFACE_MAJOR_VERSION) ?
|
||||
(1 << JVM_CONSTANT_Methodref) :
|
||||
((1 << JVM_CONSTANT_InterfaceMethodref) | (1 << JVM_CONSTANT_Methodref));
|
||||
break;
|
||||
default:
|
||||
types = 1 << JVM_CONSTANT_Methodref;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue