On Wed, 17 Jul 2024 08:59:07 GMT, Adam Sotona <asot...@openjdk.org> wrote:
>> Class-File API is leaving preview. >> This is a removal of all `@PreviewFeature` annotations from Class-File API. >> It also bumps all `@since` tags and removes >> `jdk.internal.javac.PreviewFeature.Feature.CLASSFILE_API`. >> >> Please review. >> >> Thanks, >> Adam > > Adam Sotona has updated the pull request with a new target base due to a > merge or a rebase. The pull request now contains three commits: > > - Merge branch 'master' into JDK-8334714-final > - bumped @since tag > - 8334714: Class-File API leaves preview I think so. See https://mail.openjdk.org/pipermail/hotspot-dev/2019-October/039795.html for some context. There are also historical evaluations available at https://bugs.openjdk.org/browse/JDK-8232890 and https://bugs.openjdk.org/browse/JDK-8232967, notably the judgement in Compatibility Risk Description: > Class files with versions < 45.3 predate Java. > But, does this mean that now, Hotspot blindly accepts classfiles with version > 45 with, technically, incorrect data? It appears so. See note in `ClassFileFormatVersion`: https://github.com/openjdk/jdk/blob/5671f836039ef1683e3e9ce5b7cf0fa2f1860e2d/src/java.base/share/classes/java/lang/reflect/ClassFileFormatVersion.java#L413-L414 It seems that now major version 45, regardless of the minor version, is simply seen as the Class File format for Java 1.1. > Also now, [this](https://github.com/Col-E/CAFED00D) library which took > special care to parse oak files reports wrong instructions does not parse > classfile at all. Indeed, it would be a good RFE to allow users to override default attribute mappers to parse attributes; this would be extremely useful if users wish to support previous previews that only differed in the attribute formats. > `jdk-1.8.0_402\bin\java -cp . Test` > `Hello World` For the behavioral inconsistencies, we can backport this special handling removal to active jdk update projects or even request specification changes on LTS versions (see https://github.com/openjdk/jdk8u-ri) if this is deemed important enough. ------------- PR Comment: https://git.openjdk.org/jdk/pull/19826#issuecomment-2308099862