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:
- New binaries and changes to supported environments
- Changes to the location of the default directory for the shared cache and snapshot
- New
-XX:[+|-]MergeCompilerOptions
option added - Default JITServer AOT cache name changed
- New
-XX:JITServerAOTmx
option added - New
-XX:[+|-]JITServerAOTCachePersistence
option added - New
-XX:JITServerAOTCacheDir
option added
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.