Eclipse OpenJ9 version 0.21.0 release notes
These release notes support the Eclipse OpenJ9 0.21.0 release plan.
Binaries and supported environments
OpenJ9 release 0.21.0 supports OpenJDK 8, 11, and 14.
Binaries are available at the AdoptOpenJDK project:
All builds are tested against the OpenJ9 functional verification (FV) test suite, the OpenJDK test suites, and additional tests at AdoptOpenJDK.
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.21.0. Further information about these changes can be found in the user documentation.
Issue number |
Description |
Version / Platform |
Impact |
#9610 |
New option that affects the handling of the SIGABRT signal |
OpenJDK8 and later |
By default, the OpenJ9 VM handles SIGABRT signals and generates dump files. A new option is available to force OpenJ9 to match the
reference implementation, where the signal is handled by the default operating system handler. To match the reference implementation, set -XX:-HandleSIGABRT. |
#9567 |
New option -XX:[+|-]PrintFlagsFinal for compatibility with the reference implementation |
OpenJDK8 and later |
This option provides output that lists configuration parameters for the OpenJ9 VM, such as the maximum heap size setting. The
implementation is currently incomplete and provides output on only a subset of configuration parameters. |
#9676 |
macOS shared libraries version updated |
OpenJDK8 and later (macOS® only) |
The version information for shared libraries on macOS has been updated from 0.0.0 to 1.0.0. If an application has linked against a shared library from a previous OpenJ9 release, it needs to be re-linked against the new release. |
#9588 |
Change to the output of the NoClassDefFoundError exception message to match the reference implementation |
OpenJDK8 and later |
The order in which class names are printed now matches the reference implementation. |
#583 |
API reference documentation |
OpenJDK8 and OpenJDK 11 |
API reference documentation for the OpenJ9 VM is now available in the user documentation. |
#8762 #5917 #6607 #8966 #9003 #9251 |
Issue resolution |
OpenJDK 11 (Linux on 64-bit ARM (AArch64)) |
The following issues that were recorded for this platform in earlier release notes are fixed: Concurrent Scavenge mode is supported,
JIT dynamic loop transfer and recompilation are supported, AOT is now used by default, and problems reading system dumps are now resolved. |
Known Issues
The v0.21.0 release contains the following known issues and limitations:
Issue number |
Description |
Platform |
Impact |
Workaround |
#8034 |
Balanced garbage collection policy not supported |
Linux on 64-bit ARM (AArch64) |
The Balanced GC policy cannot be used. |
Use an alternative GC policy, such as gencon. |
#479 |
Non-compressed references VM builds not available |
AIX |
Non-compressed references VM builds, which support heaps larger than 57GB, are built on Linux, Windows, and macOS. |
Manual builds on other platforms are possible by following our detailed build instructions. |
Other changes
A full commit history for this release is available at Eclipse OpenJ9 v0.21.0.