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

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:

For nonpersistent caches or 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.