Eclipse OpenJ9 version 0.10.0 release notes
These release notes support the Eclipse OpenJ9 0.10.0 release plan.
Binaries and supported environments
This release adds compatibility with OpenJDK v11. Builds of OpenJDK 11 with OpenJ9 are available from the AdoptOpenJDK community at the following link:
Builds are tested against the OpenJ9 functional verification (FV) test suite, the OpenJDK test suites, and additional tests at AdoptOpenJDK. Builds are compatible with OpenJDK 11. Compliance with the specification is tracked at the AdoptOpenJDK website where compliant builds are marked with a blue check mark.
OpenJDK 11 with Eclipse OpenJ9 is a long term support (LTS) release and supersedes OpenJDK 10 with Eclipse OpenJ9.
Although it is possible to build an OpenJDK v8 with the OpenJ9 0.10.0 release level, testing at the project is not complete and therefore support is not available.
To learn more about support for OpenJ9 releases, including OpenJDK levels and platform support, see Supported environments.
Notable changes in this release
The following table covers notable changes in v0.10.0. Further information about these changes can be found in the user documentation.
Issue number |
Description |
Platform |
Impact |
#2108 |
JEP 181 Nest-Based Access Control |
OpenJDK11 |
Implementing OpenJDK 11 JEP 181. |
#954 |
JEP 309 Dynamic Class-File Constants |
OpenJDK11 |
Implementing OpenJDK 11 JEP 309. |
#992 |
JEP 320 Remove the Java EE and CORBA Modules |
OpenJDK11 |
Implementing OpenJDK 11 JEP 320. |
#1875 |
JEP 327 Unicode 10 |
OpenJDK11 |
Implementing OpenJDK 11 JEP 327. |
#2576 |
Performance improvements for VM entry/exit for JNI natives |
OpenJDK8 and later: All platforms |
Atomic compare-and-swap operations are replaced with
a modified Dekker algorithm, which provides a lightweight mechanism
for synchronizing VM entry and exit for JNI native code. |
#1938 |
The default shared classes cache size is increased. |
OpenJDK8: 64-bit platforms |
The default size is increased from 16 MB to 300 MB, with a "soft" maximum limit for the initial size of the cache (-Xscmx) set to 64 MB. |
#2746 |
Java dump files now record the value for the soft maximum shared cache size (`-Xscmx`). |
OpenJDK8 and later: All platforms |
The value for `-Xscmx` is recorded in the `SHARED CLASSES` section of the Java dump file against the string `2SCLTEXTSMB`. |
#2508 |
New OpenJ9 option, -XX:HeapDumpPath . |
OpenJDK8 and later: All platforms |
For compatibility with HotSpot, -XX:HeapDumpPath is accepted by OpenJ9, which has the same functionality as -Xdump:directory . |
#2533 |
New OpenJ9 option, -XX:[+|-]HeapDumpOnOutOfMemoryError . |
OpenJDK8 and later: All platforms |
For compatibility with HotSpot, -XX:[+|-]HeapDumpOnOutOfMemoryError is accepted by OpenJ9, which can enable or disable dumps when an OutOfMemory exception occurs. |
#2196 |
New OpenJ9 option, -XX:ActiveProcessorCount= . |
OpenJDK8 and later: All platforms |
For compatibility with HotSpot, this option overrides the value for the number of CPUs that are automatically detected by the JVM. Additional Java dump information is recorded when the option is set. |
Known Issues
The v0.10.0 release contains the following known issues and limitations:
Issue number |
Description |
Platform |
Impact |
Workaround |
#378 |
DDR support |
AIX |
Inability to diagnose problems with the VM, garbage collector, or JIT. |
None |
#54 |
Signal handling |
All platforms |
Currently, shutdown signals (SIGINT , SIGHUP and SIGTERM ) and SIGCONT are fully supported on Unix platforms (pLinux, zLinux, xLinux, AIX, and z/OS). Support for other POSIX signals is pending. See SunMiscSignalTest.java for the list of signals that need to be supported. |
None |
#479 |
Non-compressed references VM builds not available |
AIX, Windows, Linux on Z, Linux on Power |
Non-compressed references VM builds, which support heaps larger than 57GB, are built on Linux on x86. |
Manual builds on other platforms are possible by following our detailed build instructions. |
#897 |
Javadoc not building some OpenJ9 extensions. |
All platforms |
Some API documentation is missing in the build/<platform>/docs directory. |
None |
#898 |
Javadoc building some unsupported OpenJ9 extensions. |
All platforms |
Some API documentation in build/<platform>/docs is not supported with OpenJ9. |
None |
#17 |
OpenJDK with OpenJ9 builds before Java 11 contain extra shared libraries. |
All platforms |
Shared libraries must not be used in production. |
None |
Other changes
A full commit history for this release is available at Eclipse OpenJ9 v0.10.0.