A handful of HotSpot tests are designed to exercise class file shapes involving ACC_STRICT_INIT fields that can't be expressed by compiling value classes or @NullRestricted fields. These tests depend on javac recognizing and giving special treatment to the @jdk.internal.vm.annotation.Strict annotation.
Before integration into mainline, javac needs to stop giving @Strict special treatment, and these tests need to be placed on firmer ground for the long term by being written without depending on any hidden Java language support.
The recommended solution is to rewrite the affected classes using Jasm. (Often, most of the code can live in Java, and only a small kernel needs to be lifted into a jasm source file.)
A rough 'grep' count turns up 13 cases in the 'hotspot/jtreg/compiler' tests, and 32 cases in the 'hotspot/jtreg/runtime' tests.
Before integration into mainline, javac needs to stop giving @Strict special treatment, and these tests need to be placed on firmer ground for the long term by being written without depending on any hidden Java language support.
The recommended solution is to rewrite the affected classes using Jasm. (Often, most of the code can live in Java, and only a small kernel needs to be lifted into a jasm source file.)
A rough 'grep' count turns up 13 cases in the 'hotspot/jtreg/compiler' tests, and 32 cases in the 'hotspot/jtreg/runtime' tests.
- blocks
-
JDK-8376047 [lworld] Remove javac special treatment of @Strict
-
- Open
-
- relates to
-
JDK-8351362 [lworld] Post-process @Strict annotation for testing
-
- Open
-