Service refresh 6

Read about the changes in service refresh 6, and subsequent fix packs.

Skip to Service refresh 6 fix pack 5.

Skip to Service refresh 6 fix pack 7.

Skip to Service refresh 6 fix pack 10.

Skip to Service refresh 6 fix pack 11.

Skip to Service refresh 6 fix pack 15.

Skip to Service refresh 6 fix pack 16.

Skip to Service refresh 6 fix pack 20.

Skip to Service refresh 6 fix pack 25.

Skip to Service refresh 6 fix pack 26.

Skip to Service refresh 6 fix pack 30.

Skip to Service refresh 6 fix pack 31.

Skip to Service refresh 6 fix pack 35.

Skip to Service refresh 6 fix pack 36.

Service refresh 6

This release contains the latest IBM fixes, the most recent Oracle Critical Patch Update (CPU), and the following new features:

  • IBM security features, as listed in Security guide.
  • Features from the latest Eclipse OpenJ9 release, as listed in OpenJ9 user documentation.
  • Other SDK features, as listed in the following section.
Other SDK features
New hardware and operating system support
This release supports IBM® z15® hardware, and the following operating systems:
  • Red Hat® Enterprise Linux® 7.7
  • SUSE Linux Enterprise Server 15 SP1
  • z/OS® 2.4

Service refresh 6 fix pack 5

Fix pack 5 contains the latest IBM fixes, the most recent Oracle Critical Patch Update (CPU), and the following new features:
  • IBM security features, as listed in Security guide
  • Features from the latest Eclipse OpenJ9 release, as listed in OpenJ9 user documentation
  • Other OpenJ9 features, as listed in the following section
Other OpenJ9 features
New shared classes cache suboptions for layered caches (64-bit only)
The following new suboptions are available for creating layered caches, where a cache builds on another cache with the same name. You can use these suboptions to save space when you build a Docker container, for example.
New shared classes cache suboption to skip disk space checking

When the OpenJ9 VM creates a persistent shared classes cache, it checks that there is sufficient disk space available on the file system. For file systems that do not support the checking of free space, you can set the -Xshareclasses:noPersistentDiskSpaceCheck option, which causes the VM to skip the space checking operation. If there isn't enough disk space available when the cache is written, a SIGBUS or SIGSEGV signal occurs and the VM ends. For more information, see the -Xshareclasses:noPersistentDiskSpaceCheck option.

Option to share 'Unsafe' classes
Classes that are created by using the Unsafe.defineClass class are now stored by default in the shared classes cache. You can use the -XX:-ShareUnsafeClasses option to change the default behavior. For more information, see -XX:[+|-]ShareUnsafeClasses.
Option to record class relationships in the verifier
You can use the new command line option -XX:+ClassRelationshipVerifier to record class relationships in the verifier, which avoids unnecessary class loading and reduces VM startup time. This change is a new approach to bytecode verification that delays the validation of the relationships between classes until the classes must be loaded to run a program, thus loading only those classes that are required. For more information, see -XX:[+|-]ClassRelationshipVerifier.

Service refresh 6 fix pack 7

Fix pack 7 includes the latest IBM fixes and features from the latest Eclipse OpenJ9 release, as described in the OpenJ9 user documentation.

Service refresh 6 fix pack 10

Fix pack 10 contains the latest IBM fixes, the most recent Oracle Critical Patch Update (CPU), and the following new features:
  • IBM security features, as listed in Security guide
  • Features from the latest Eclipse OpenJ9 releases, as listed in the OpenJ9 user documentation.
  • Other SDK features, as listed in the following section.
Other SDK features
New operating system support
This release supports the following operating systems:
  • Red Hat Enterprise Linux 7.8 and 8.2
  • Ubuntu 20.04 LTS
Signal handling implementation change
The IBM signal handling implementation is replaced in this release with the OpenJDK implementation. As a result, the -Dcom.ibm.signalhandling.ignoreLogoff system property command-line option is now ignored. For more information, see Miscellaneous system property command-line options.

Service refresh 6 fix pack 11

Fix pack 11 includes the latest IBM fixes, and IBM security updates as listed in Security guide.

Service refresh 6 fix pack 15

Fix pack 15 contains the latest IBM fixes, the most recent Oracle Critical Patch Update (CPU), and the following new features:
  • IBM security features, as listed in Security guide
  • Features from the latest Eclipse OpenJ9 releases, as listed in the OpenJ9 user documentation.
  • Other SDK features, as listed in the following section.
Other SDK features
Removal of support for Windows 8.1
Due to removal of support for this operating system in the OpenJ9 project, support is also removed in the SDK.
Change to JNI compiler level for Windows
The level of Microsoft Visual Studio compiler that is supported for compiling JNI applications on the Windows operating system has changed from 2010 to 2017. For more information about compiler support, see Supported compilers.
Eclipse API documentation moved
API documentation that applies to Eclipse OpenJ9 is now in the OpenJ9 user documentation rather than the SDK user guide.

Service refresh 6 fix pack 16

Fix pack 16 includes the latest IBM fixes.

Service refresh 6 fix pack 20

Fix pack 20 contains the latest IBM fixes, the most recent Oracle Critical Patch Update (CPU), and the following new features:

Service refresh 6 fix pack 25

Fix pack 25 contains the latest IBM fixes, the most recent Oracle Critical Patch Update (CPU), and the following new features:
  • IBM security features, as listed in Security guide
  • Features from the latest Eclipse OpenJ9 release, as listed in the Version 0.24.0 OpenJ9 user documentation.
  • Other OpenJ9 features, as listed in the following section
Other OpenJ9 features
-XX:[+|-]PortableSharedCache option behavior update

The -XX:[+|-]PortableSharedCache option is updated to improve the portability of AOT-compiled code further. This update allows AOT-compiled code to be portable across OpenJ9 VMs that use compressed references and have a heap size of 1 MB to 28 GB when this option is enabled. This option might introduce a small (1-2%) steady-state throughput penalty when compressed references are used and the heap size is between 1 MB and 3 GB. See -XX:[+|-]PortableSharedCache for more details about this option.

Service refresh 6 fix pack 26

Fix pack 26 contains the latest IBM fixes and the following new OpenJ9 features:
  • Features from the latest Eclipse OpenJ9 release, as listed in the Version 0.25.0 OpenJ9 user documentation.
  • Other OpenJ9 features, as listed in the following section.
Other OpenJ9 features
Improved processor feature diagnostic information in Java™ dump files
The ENVINFO section of a Java dump file now includes further information about processor features. This information helps to diagnose problems associated with JIT and AOT compilations that depend on underlying hardware.

Service refresh 6 fix pack 30

Fix pack 30 contains the latest IBM fixes, the most recent Oracle Critical Patch Update (CPU), and the following new features:
  • IBM security features, as listed in Security guide
  • Other SDK features, as listed in the following section.
Other SDK features
Updated operating system support
  • Support is added for Red Hat Enterprise Linux 8.3.
  • Support is removed for Ubuntu 16.04, which is now in extended security maintenance mode.
For a list of supported hardware and operating systems, see Supported environments

Service refresh 6 fix pack 31

Fix pack 31 includes the latest IBM fixes and the following new OpenJ9 feature:
New -XX:[+|-]AdaptiveGCThreading option
To optimize performance, you can now enable adaptive threading to automatically tune 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 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 parallel work (root processing, object graph traversal, etc.) 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.

Service refresh 6 fix pack 35

Fix pack 35 contains the latest IBM fixes, the most recent Oracle Critical Patch Update (CPU), and the following new features:
  • IBM security features, as listed in Security guide.
  • Features from the latest Eclipse OpenJ9 release, as listed in the Version 0.27.0 OpenJ9 user documentation.
  • Other SDK features, as listed in the following section.
Other SDK features
Using 31-bit native C or C++ code with the 64-bit Java VM on z/OS
This release uses new function in z/OS to simplify the migration of Java applications that use native C or C++ code from the 31-bit SDK to the 64-bit SDK. The 64-bit SDK now has expanded Invocation and Java Native Interface APIs to allow 31-bit native code to compile, link, and interoperate with the 64-bit SDK. This feature requires APAR PH28966 on z/OS 2.3 or later. For more information, see Using 31-bit native code with the 64-bit Java VM (z/OS only).
Updated platform system support
  • Support is added for Red Hat Enterprise Linux 8.4.
For a list of supported hardware and operating systems, see Supported environments

Service refresh 6 fix pack 36

Fix pack 31 includes the latest IBM fixes and the following new OpenJ9 feature:
New option for omitting a system dump when running the dump extractor tool
When you run the dump extractor tool (jextract) to gather files for core dump analysis, a system dump is included by default. The system dump can make the jextract output file very large. The new -x option for the jextract command causes the system dump to be omitted. Instead, a file called excluded-files.txt is added; this file lists the system dump file so that you can reference it separately. For more information about the jextract tool, see Dump extractor.