[JEP500][Epic] Prepare to Make Final Mean Final
This epic tracks all OpenJ9 work required to support JEP-500 (Prepare to Make Final Mean Final).
- [ ] 1. https://github.com/eclipse-openj9/openj9/issues/22951
- [ ] 2. https://github.com/eclipse-openj9/openj9/issues/22952
- [ ] 3. https://github.com/eclipse-openj9/openj9/issues/22955
- [ ] 4. https://github.com/eclipse-openj9/openj9/issues/22954
- [ ] 5. https://github.com/eclipse-openj9/openj9/issues/22953
Testing
Substantial test coverage will land with the OpenJDK PR for JEP500; we can just run those tests in OpenJ9 via the openjdk.sanity/openjdk.extended test suites to validate our implementation.
Excluded Tests
https://github.com/adoptium/aqa-tests/pull/6737 excludes the following JEP 500 tests. These excluded tests should be re-evaluated as the tasks listed above are completed. Completing Tasks 1-2 should allow the majority of these tests to be re-enabled. If any tests continue to fail after all five tasks are completed, separate issues can be opened to investigate and resolve the remaining failures.
- java/lang/invoke/unreflect/UnreflectTest.java
- java/lang/invoke/VarHandles/accessibility/TestFieldLookupAccessibility.java
- java/lang/reflect/AccessibleObject/HiddenClassTest.java
- java/lang/reflect/Field/mutateFinals/cli/CommandLineTest.java
- java/lang/reflect/Field/mutateFinals/jar/ExecutableJarTest.java
- java/lang/reflect/Field/mutateFinals/jni/JNIAttachMutatorTest.java
- java/lang/reflect/Field/mutateFinals/modules/Driver.java
- java/lang/reflect/Field/mutateFinals/MutateFinalsTest.java
- java/lang/reflect/Field/NegativeTest.java
- java/lang/reflect/Field/Set.java
- java/util/jar/Attributes/NullAndEmptyKeysAndValues.java
- java/util/logging/FileHandlerLongLimit.java
Note
The OpenJDK PR for JEP500 is still under review and appears close to merging. To begin OpenJ9 work in the meantime, developers should cherry-pick the PR’s commits locally.
fyi @tajila
@JasonFengJ9 Can you please start looking at the cmdline and JCL support
8353835: Implement JEP 500: Prepare to Make Final Mean Final has been merged.
I have opened https://github.com/adoptium/aqa-tests/pull/6737 to exclude the failing JEP500-specific tests, and I have updated the issue description above to list all excluded tests. For now, we can track them collectively in this issue. If any tests continue to fail after all five sub-tasks for this Epic are completed, we can open separate standalone issues for those remaining failures.
@JasonFengJ9 Once basic support is done, can you please check if we are outputting any warning messages in DDR, CRIU or any other OpenJ9 specific library tests?
Once basic support is done, can you please check if we are outputting any warning messages in DDR, CRIU or any other OpenJ9 specific library tests?
Will do, it is a good idea to check our own implementations and prepare for Final Mean Final.