Skip to content

CAUTION: This site hosts draft documentation for the next release. For published content of the latest release, visit www.eclipse.org/openj9/docs

What's new in version 0.27.0

The following new features and notable changes since v 0.26.0 are included in this release:

Features and changes

Binaries and supported environments

OpenJ9 release 0.27.0 supports OpenJDK 8, 11, and 16.

To learn more about support for OpenJ9 releases, including OpenJDK levels and platform support, see Supported environments.

New -XX:[+|-]AdaptiveGCThreading option added

Adaptive threading is enabled by default, which automatically tunes the number of active parallel garbage collection (GC) threads. When this feature is enabled, the GC thread count is dynamically adjusted from collection cycle to cycle to account for changes in the the amount of time that parallel threads spend doing useful GC work (such as object graph traversal) compared to time spent synchronizing among themselves. When GC work decreases, fewer threads are used, which reduces the overhead, effectively reducing GC pause times. Resources are freed up for other processing activities.

Use the -xgcmaxthreads option with the -XX:+AdaptiveGCThreading option to specify a thread count limit.

Improved time zone information added to Java dump files

To help with troubleshooting, additional time zone information is added to Java™ dump files. Two new fields are included, the date and time in UTC (1TIDATETIMEUTC) and the time zone according to the local system (1TITIMEZONE). For more information, see the Java dump TITLE section.

Change in default behavior for the balanced garbage collection (GC) policy

In this release, a new scan mode, -Xgc:dynamicBreadthFirstScanOrdering, is used during balanced GC copy forward operations that is expected to improve performance.

For more information about this type of operation, see GC copy forward operation.

You can revert to the behavior in earlier releases by setting -Xgc:breadthFirstScanOrdering when you start your application.

Stop parsing the JAVA_OPTIONS environment variable

The 0.24 release started parsing the JAVA_OPTIONS environment variable. This variable was added in error and has been removed. The _JAVA_OPTIONS environment variable (with different behavior) is added for compatibility.

Global lock reservation enabled by default

(AIX® and Linux on Power Systems™ only)

Global lock reservation is now enabled by default. This is an optimization targeted towards more efficient handling of locking and unlocking Java objects. The older locking behavior can be restored via the -XX:-GlobalLockReservation option. See -XX:[+|-]GlobalLockReservation for more details.

Increase in default operating system stack size on PPC64 platforms

The default operating system stack size on AIX and Linux PPC64 is increased from 256KB to 512KB. You can change the operating system stack size by using the -Xmso option.

New -x option recognized by jpackcore / jextract

The new option, -x, causes the system dump to be omitted from the archive created. In its place, the file excluded-files.txt is added, which names the excluded file. For more information, see Dump extractor.

Full release information

To see a complete list of changes between Eclipse OpenJ9 v0.26.0 and v0.27.0 releases, see the Release notes.