What's new in version 0.35.0
The following new features and notable changes since version 0.33.1 are included in this release:
- New binaries and changes to supported environments
- Java™ dump files contain more information about waiting threads
- New
-XX:[+|-]ShowNativeStackSymbols
option added - New
user2
event added for the-Xdump
option - New
-XX:[+|-]PerfTool
option added - New default options added in the
options.default
file - New options added to encrypt the JITServer exported metrics
- XL C++ Runtime 16.1.0.7 or later required on AIX
-XX:[+|-]JITServerLocalSyncCompiles
enabled by default- Support for changes to the maintenance specifications of JSR 337 in Java 8
Features and changes
Binaries and supported environments
Eclipse OpenJ9™ release 0.35.0 supports OpenJDK 8, 11, and 17.
OpenJ9 Windows® builds for OpenJDK 11 are now compiled with Microsoft® Visual Studio 2019. The Visual Studio redistributable files included with the build are updated to match.
Apple silicon macOS® is now a fully supported, production-ready target for OpenJDK 11 and later.
To learn more about support for OpenJ9 releases, including OpenJDK levels and platform support, see Supported environments.
Java dump files contain more information about waiting threads
For threads that are waiting for a class initialization lock, the Java dump output now shows the thread that is currently working to progress the initialization of the class. This thread is indicated by the new Initializing thread: <thread_name>
string in the existing 3XMTHREADBLOCK
line in the Java dump output. For example:
3XMTHREADBLOCK Waiting on: java/lang/J9VMInternals$ClassInitializationLock@0x00000000FFF5DC90 Owned by: <unowned> Initializing thread: "Class Initialization Thread 1"
For more information, see Threads.
New -XX:[+|-]ShowNativeStackSymbols
option added
This option controls whether Java dumps show the names of functions in native call stacks.
For more information, see -XX:[+|-]ShowNativeStackSymbols
.
New user2
event added for the -Xdump
option
On operating systems other than Windows™, you can now use the user2
event for the -Xdump
option. This event is triggered when the VM receives the SIGUSR2
signal.
There is a change in the SIGUSR2
signal behavior as well whereby, the process does not exit in response to this signal.
For more information, see -Xdump
and Signal handling.
New -XX:[+|-]PerfTool
option added
This option enables or disables the JIT support for the perf
tool without affecting the existing Xjit
options.
Since this option creates a file that is used by the Linux® system profiler, perf
, it applies only to Linux.
For more information, see -XX:[+|-]PerfTool
.
New default options added in the options.default
file
-XX:+EnsureHashed:java/lang/Class,java/lang/Thread
is added to the list of default options in the options.default
file to improve performance.
For more information, see XX:[+|-]EnsureHashed
.
New options added to encrypt the JITServer exported metrics
You can use the -XX:JITServerMetricsSSLKey
and -XX:JITServerMetricsSSLCert
options to encrypt the custom metrics with TLS or SSL.
XL C++ Runtime 16.1.0.7 or later required on AIX
AIX OpenJ9 builds now require version 16.1.0.7 or later of the IBM XL C++ Runtime.
-XX:[+|-]JITServerLocalSyncCompiles
enabled by default
The -XX:[+|-]JITServerLocalSyncCompiles
option is now enabled in most cases. For more information, see -XX:[+|-]JITServerLocalSyncCompiles
.
Support for changes to the maintenance specifications of JSR 337 in Java 8
OpenJ9 now supports changes to the maintenance specifications in Java 8 as listed in the JSR 337 Maintenance Release 4 document.
These changes include the change in the garbage collector behavior for handling the phantom references in Java 8. The garbage collector handles both the phantom as well as the weak references similarly, which is the current behavior in Java 11 and later. For more information, see Weak reference processing.
Known problems and full release information
To see known problems and a complete list of changes between Eclipse OpenJ9 v0.33.1 and v0.35.0 releases, see the Release notes.