-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
P3
-
Affects Version/s: repo-valhalla
-
Component/s: hotspot
The following 8 JCK vm/instr tests are failing (JCK-7323400):
vm/instr/ifnonnull/ifnonnull001/ifnonnull00104m1/ifnonnull00104m1.html
vm/instr/ifnonnull/ifnonnull001/ifnonnull00104m1t/ifnonnull00104m1t.html
vm/instr/ifnull/ifnull003/ifnull00303m1/ifnull00303m1.html
vm/instr/ifnull/ifnull003/ifnull00303m1t/ifnull00303m1t.html
vm/instr/invokespecial/invokespecial024/invokespecial02401m4/invokespecial02401m4.html
vm/instr/invokespecial/invokespecial024/invokespecial02401m4N/invokespecial02401m4N.html
vm/instr/invokespecial/invokespecial024/invokespecial02401m5/invokespecial02401m5.html
vm/instr/invokespecial/invokespecial024/invokespecial02401m5N/invokespecial02401m5N.html
These failures are JDK-specific. The tests are correct for class file versions 45.3, 50.0, and 51.0 and behave as specified when verified according to the verifier rules defined by their respective ClassFileVersion.
Per the JVMS (4.10.1), class files with version 50.0 and above are verified using type checking, with a narrowly defined fallback to type inference permitted only for version 50.0 class files when type checking fails. This fallback is explicitly transitional and must not be applied to other class file versions.
The introduction of new verifier behavior for class file version 70.65535 when used with the -preview flag states a version-specific change. Such behavior must be explicitly specified and must not be expected when verifying class files with versions lower than 70.65535. Applying preview-specific verifier behavior to earlier class file versions violates the JVMS requirement that verification semantics are strictly determined by the class file version.
The JVM must therefore continue to apply the verifier behavior defined by the applicable ClassFileVersion, and must not retroactively enforce new or preview-only verification rules on class files targeting earlier versions.
vm/instr/ifnonnull/ifnonnull001/ifnonnull00104m1/ifnonnull00104m1.html
vm/instr/ifnonnull/ifnonnull001/ifnonnull00104m1t/ifnonnull00104m1t.html
vm/instr/ifnull/ifnull003/ifnull00303m1/ifnull00303m1.html
vm/instr/ifnull/ifnull003/ifnull00303m1t/ifnull00303m1t.html
vm/instr/invokespecial/invokespecial024/invokespecial02401m4/invokespecial02401m4.html
vm/instr/invokespecial/invokespecial024/invokespecial02401m4N/invokespecial02401m4N.html
vm/instr/invokespecial/invokespecial024/invokespecial02401m5/invokespecial02401m5.html
vm/instr/invokespecial/invokespecial024/invokespecial02401m5N/invokespecial02401m5N.html
These failures are JDK-specific. The tests are correct for class file versions 45.3, 50.0, and 51.0 and behave as specified when verified according to the verifier rules defined by their respective ClassFileVersion.
Per the JVMS (4.10.1), class files with version 50.0 and above are verified using type checking, with a narrowly defined fallback to type inference permitted only for version 50.0 class files when type checking fails. This fallback is explicitly transitional and must not be applied to other class file versions.
The introduction of new verifier behavior for class file version 70.65535 when used with the -preview flag states a version-specific change. Such behavior must be explicitly specified and must not be expected when verifying class files with versions lower than 70.65535. Applying preview-specific verifier behavior to earlier class file versions violates the JVMS requirement that verification semantics are strictly determined by the class file version.
The JVM must therefore continue to apply the verifier behavior defined by the applicable ClassFileVersion, and must not retroactively enforce new or preview-only verification rules on class files targeting earlier versions.