What's new in version 0.15.1
The following new features and notable changes since version 0.14.0 are included in this release:
- Performance improvements for JVMTI watched fields
- Support for pause-less garbage collection on IBM Z systems
- Support for OpenJDK HotSpot options
- Support for Transparent Huge Pages (THP)
- Automatically setting an initial heap size
- Removal of -Xdiagnosticscollector option
- Change in behaviour of -XX:[+|-]IdleTuningCompactOnIdle
- Addition of heuristics for compaction during idle GC
Features and changes
Performance improvements for JVMTI watched fields
OpenJ9 version 0.14.0 introduced the -XX:[+|-]JITInlineWatches
option, which, when enabled, turned on experimental JIT operations to improve the performance of JVMTI watched fields. Following successful results, this option is now enabled by default. This option is now also supported on z/OS® and Linux for IBM Z®, in addition to x86 platforms (Windows®, macOS®, and Linux).
Support for pause-less garbage collection on IBM Z systems
Support for Concurrent scavenge mode is now extended to Linux on IBM Z® systems and z/OS®. For more information, see -Xgc:concurrentScavenge
.
Support for OpenJDK HotSpot options
For compatibility, the -XX:OnOutOfMemoryError
OpenJDK HotSpot option is now supported by OpenJ9.
Support for Transparent Huge Pages (THP)
The VM now supports the allocation of huge pages on Linux when you use the madvise
(/sys/kernel/mm/transparent_hugepage/enabled
) setting. To enable this feature, set -XX:+TransparentHugePage
on the command line when you start your application. This option is currently not enabled by default.
Automatically setting an initial heap size
OpenJ9 can now learn and set an appropriate initial heap size for an application as an alternative to a user manually sizing and setting an -Xms
value. The VM records the size of the heap when startup processing ends, writing this data to the shared classes cache. An average value is set over a few restarts, helping to ensure that the value used for the initial heap size is as accurate as possible. The heap size recorded is specific to the application command line, therefore a different hint is stored for every unique command line.
To turn on this behavior, set the -XX:+UseGCStartupHints
option on the command line when you start your application.
Removal of -Xdiagnosticscollector option
This option was redundant and has now been removed. If you try to use this option on the command line, the VM outputs this error message:
JVMJ9VM007E Command-line option unrecognised: -Xdiagnosticscollector
Change in behaviour of -XX:IdleTuningCompactOnIdle
-XX:[+|-]IdleTuningCompactOnIdle is now no longer effective when -XX:+IdleTuningGcOnIdle is not specified.
Heuristics for compaction during idle GC
OpenJ9 now automatically compacts the heap when certain triggers are met during idle garbage collection (GC). As a result of this change, -XX:[+|-]IdleTuningCompactOnIdle
is deprecated.