PUBLIC COMMENTS
The actual 4.11.1 paragraph of JVMS3 is
"A class file whose version number is greater than or equal to 50.0 must be verified using the typechecking rules given in this section. If, and only if, a class file???s version number equals 50.0, then if the typechecking fails, a virtual machine implementation may choose to attempt to perform verification by type inference.
The fix acts in the above fashion, i.e.,
If a v50 classfile has a stackmap, the stackmap is used for verification.
If no stackmap is present or verification using the stackmap fails, and the -XX
switch FailOverToOldVerifier is set, then the inference verifier is used. But if the classfile is v51 or higher no failover will occur if stackmap verification fails.
|