bug 6693236 fix
David.Holmes at oracle.com
Wed Jul 7 20:55:52 PDT 2010
As noone has commented on this let me :)
As the bug report describes:
According to 4.11.1 paragraph of JVMS3
"A class file whose version number is greater than to 50.0
must be verified using the typechecker rules"
So strictly speaking 1.6 was not compliant with the spec for practical
reasons, but this non-compliance has been removed for Java 7.
Rémi Forax said the following on 06/27/10 23:45:
> Hello all,
> 1.7bb99 contains a patch for bug 6693236.
> This change has a big impact for all projects that does bytecode
> because it requires to generate stackmap information for classfile 51.0.
> During 1.6 time frame, the command line flag FailOverToOldVerifier was added
> to ease the transition. (see https://jdk.dev.java.net/verifier.html )
> Later it was decided to enable that flag by default for 1.6.
> The patch deactivates type inference for classfile 51.0,
> I have no problem with that,
> but it also deactivates FailOverToOldVerifier flag for classfile 51.0.
> I want to know if there a reason to deactivate the command line flag
> or if it's just a side-effect of the fix.
More information about the hotspot-runtime-dev