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.36.x

The following new features and notable changes since version 0.35.0 are included in this release:

Features and changes

Binaries and supported environments

Eclipse OpenJ9™ release 0.36.0 supports OpenJDK 8 and 17.

Release 0.36.1 supports OpenJDK 11.

Support for running OpenJ9 with OpenJDK 8 or OpenJDK 11 on CentOS 6.10 is deprecated and might be removed in a future release. OpenJ9 will not be tested with OpenJDK 11 on CentOS 6.10 after the 0.36.1 release.

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

Changes to the location of the default directory for the shared cache and snapshot

On operating systems other than Windows™ and z/OS®, the default shared classes cache directory in the user's home directory is changed from javasharedresources to .cache/javasharedresources. This change is to avoid cluttering of the home directory. If you specify -Xshareclasses:groupAccess, the default directory remains /tmp/javasharedresources/.

If the javasharedresources directory in the user's home directory is empty, the javasharedresources directory can be deleted.

You can find and remove caches or snapshots in the old default directory by using the following command-line options:

For persistent caches:

  • -Xshareclasses:cacheDir=<HomeDir>/javasharedresources/,listAllCaches to find the caches
  • -Xshareclasses:cacheDir=<HomeDir>/javasharedresources/,name=<cacheName>,destroy to remove a particular cache
  • -Xshareclasses:cacheDir=<HomeDir>/javasharedresources/,destroyAll to remove all caches
  • -Xshareclasses:cacheDir=<HomeDir>/javasharedresources/,destroyAllLayers to remove multi-layer caches

For nonpersistent caches or snapshots:

  • -Xshareclasses:cacheDir=<HomeDir>,listAllCaches to find the cache or snapshot
  • -Xshareclasses:cacheDir=<HomeDir>,name=<cacheName>,destroy to remove a particular shared cache
  • -Xshareclasses:cacheDir=<HomeDir>,destroyAll to remove all caches
  • -Xshareclasses:cacheDir=<HomeDir>,destroyAllLayers to remove multi-layer caches
  • -Xshareclasses:cacheDir=<HomeDir>,name=<snapshotName>,destroySnapshot to remove a particular snapshot
  • -Xshareclasses:cacheDir=<HomeDir>,destroyAllSnapshots to remove all snapshots

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

This option enables or disables the merging of multiple -Xjit or -Xaot options into a single -Xjit or -Xaot option.

For more information, see -XX:[+|-]MergeCompilerOptions.

Default JITServer AOT cache name changed

A JITServer instance can have several AOT caches, each with its own name and containing different versions of compiled methods. Client JVMs with different profiles of execution can connect to the same JITServer instance, but access the cache with compiled methods optimized for their own profile with the -XX:JITServerAOTCacheName option. Earlier, if the cache name was not specified in this option, the default was to use a nameless cache. The default AOT cache name is now changed to default.

This change is to allow AOT cache persistence, whereby JITServer can periodically save its AOT caches to files with names that include the name of the cache. JITServer can then load caches from such files when a client requests a particular cache.

For more information, see -XX:JITServerAOTCacheName and -XX:[+|-]JITServerAOTCachePersistence.

New -XX:JITServerAOTmx option added

This option specifies the maximum amount of memory that can be used by the JITServer AOT cache. Instead of unlimited memory consumption, the maximum amount of memory that all AOT cache instances combined can use at the server is now limited to 300 MB, by default.

For more information, see -XX:JITServerAOTmx.

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

The JITServer AOT cache was a non-persistent in-memory cache. If the JITServer instance terminated, the cache content was lost. Now, with the -XX:+JITServerAOTCachePersistence option, the JITServer server periodically saves its AOT caches to files. Other JITServer instances can then load these caches from files the first time a client requests a particular cache.

For more information, see -XX:[+|-]JITServerAOTCachePersistence.

New -XX:JITServerAOTCacheDir option added

You can specify the directory for saving or loading the JITServer AOT cache files with the -XX:JITServerAOTCacheDir=<directory> option. If the option is not used, AOT cache files are saved to (or loaded from) the current working directory of the JITServer server.

For more information, see -XX:JITServerAOTCacheDir.

Known problems and full release information

To see known problems and a complete list of changes between Eclipse OpenJ9 v0.35.0 and v0.36.x releases, see the Release notes.