These release notes support the Eclipse OpenJ9 0.14 release plan.
OpenJ9 release 0.14 supports OpenJDK 8, 11, and 12. 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.
📝 On Linux® and AIX® platforms, the OpenSSL 1.0.2 or 1.1.X library is expected to be found on the system path. If you use a package manager to install OpenSSL, the system path will be updated automatically. On other platforms, the OpenSSL 1.1.X library is currently bundled with the binaries from AdoptOpenJDK.
To learn more about support for OpenJ9 releases, including OpenJDK levels and platform support, see Supported environments.
The following table covers notable changes in v0.14. Further information about these changes can be found in the user documentation.
Issue number | Description | Version / Platform | Impact |
---|---|---|---|
#5023 | Extended platform support for software-based pause-less garbage collection | OpenJDK8 and later (Linux on POWER BE) | Reduced garbage collection pause times when using -Xgc:concurrentScavenge with the gencon GC policy for Linux on POWER BE. |
#275 #135 | OpenSSL 1.0.2 support | OpenJDK8 and OpenJDK11 (All platforms) | Improved cryptographic performance for the Digest, CBC, GCM, and RSA algorithms. |
#4435 | New -XX:[+|-]IgnoreUnrecognizedXXColonOptions command-line option | OpenJDK8 and later (All platforms) | Ability to discover -XX: options that the VM does not recognize on the command line. |
#4988 | New -XX:[+|-]ReadIPInfoForRAS command-line option | OpenJDK8 and later (All platforms) | Ability to skip a nameserver request to avoid the situation where hostname and IP address cannot be resolved and an application pauses for up to 60 seconds until the request times out. |
#3483 | DDR support enabled on macOS® platforms | OpenJDK8 and later (macOS platform) | In earlier releases, DDR support was not available on the macOS platform, which affected problem diagnosis for the VM, garbage collector, and JIT compiler. |
#4858 | New Java stack tool (jstack) | OpenJDK8 and later (All platforms) | This tool can be used to obtain Java stack traces and thread information for Java processes. |
#4655 | New Java process status tool (jps) | OpenJDK8 and 11 (All platforms) | This tool can be used to query running Java processes. This tool is already available with OpenJDK 12. |
#1831 | Changes to the shared classes cache generation number | OpenJDK8 and later (All platforms) | The shared cache generation number is changed, which causes the JVM to create a new shared classes cache, rather than re-creating or reusing an existing cache. To save space, all existing shared caches can be removed unless they are in use by an earlier release. For more information, see -Xshareclasses. |
#3153 | Optimizations to support JVMTI field watches | OpenJDK8 and later (Windows and Linux on x86 only) | A new option is available to turn on experimental performance improvements for JVMTI watched fields. For more information, see -XX:[+|-]JITInlineWatches. |
#5156 | Change to the default native stack size (set by -Xmso) | OpenJDK8 and later (64-bit z/OS® only) | The default size is changed from 384 KB to 1 MB, see Default settings for the OpenJ9 VM. |
The v0.14.0 release contains the following known issues and limitations:
Issue number | Description | Platform | Impact | Workaround |
---|---|---|---|---|
#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 |
#2507 | Restriction analyzing system (core) dumps | Linux and Windows | You must use a 32-bit JVM to look at a 32-bit core, and a 64-bit JVM to look at a 64-bit core. This restriction will be fixed in a later version of OpenJ9. | 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 |
A full commit history for this release is available at Eclipse OpenJ9 v0.14.0.