Why JDK-8157181 conditional in JDK 9 EA ?
mandrikov at gmail.com
Sun Dec 11 21:58:11 UTC 2016
Rory O'Donnell gave me an advice  to provide our concerns about
JDK-8157181  here. But excuse me if this is wrong place or too late.
In JaCoCo project  we accidentally discovered JDK-8157181 , which
revealed that we were generating bytecode that violates JVMLS . What was
a bit surprising - is a conditional behavior of verifier based on bytecode
version. At a time of discovery we had no ability to compile into bytecode
version 9 given the state of tools in build stack (minifiers, verifiers,
etc) and had only ability to execute with JDK 9 EA. I guess that many
projects might relatively easily start testing 9 EA just as runtime
environment, while change of a target still might require bigger investment
as was the case for us. From there, I wonder why this logic was was not
made unconditional as was discussed in JDK-8157181 , especially in
presence of tickets for backporting . Or maybe this happened, but we
just didn't noticed since bug on our side was fixed? The verification
itself is great and IMO might reveal bugs in tools that generate bytecode.
More information about the hotspot-dev