Visit Azul.com Support

20.04.0.0

Need help?
Schedule a consultation with an Azul performance expert.
Contact Us

20.04.0.0

Release Notes PDF

Release date: April 30, 2020

This release corresponds to the following OpenJDK versions:

Major Version OpenJDK Version

7

7u262

8

8u252

11

11.0.7+10

What’s New

  • The release of Zing 20.04.0.0 contains April 2020 critical patch update (CPU) security and critical bug fixes and brings the associated JDK 7, JDK 8, and JDK 11 versions to April 2020 CPU security update levels.

  • Zing 20.04.0.0 incorporates additional non-security changes associated with the April PSU 2020 OpenJDK 8u252 and OpenJDK 11.0.7 release contents.

  • Starting with Zing 20.04.0.0, the -XX:+UseC2 option can use one of two separate implementations of C2 JIT compilation: a traditional UseSeaOfNodesC2 mode and a new UseKestrelC2 mode.

  • The new mode is selected with +UseKestrelC2 which is on by default for Zing 11 and off by default for Zing 8 and Zing 7. This mode enables a C2 implementation introduced to Zing in 2020. It is based on a lightweight use of the LLVM backend and typically produces faster code than UseSeaOfNodesC2 while keeping compilation effort at similar levels. UseKestrelC2 generally exhibits a significantly lower compilation-time CPU consumption compared to Falcon.

    The old mode is selected with +UseSeaOfNodesC2 which is off by default in Zing 11 and on by default for Zing 8 and Zing 7.

    See Using Zing Command-Line Options for UseKestrelC2 and UseSeaOfNodesC2 command-line options and details.

  • Zing 20.04.0.0 introduces a compilation time improvement.

  • The release of Zing 20.04.0.0 introduces an increased maximum Java heap size from 1 TB to 2.5 TB in the default non-ZST mode.

    The maximum Java heap size for the Zing Virtual Machine with ZST is 20 TB.

  • In Zing 20.04.0.0, a new Java Flight Recorder functionality allows you to collect profiling data about applications that use JNI invocations.

  • The release of Zing 20.04.0.0 includes optimizations targeted at reducing JNI transition costs. The cost of a native call from Java was reduced, and the implementation of the accessor functions used to retrieve fields of Java objects from native code was also improved. Most applications will not be affected, but applications with many native transitions (such as a socket or file IO) may see the marked improvement.

    See Using Zing Command-Line Options for UseFastJNIAccessors, UseMembar, and UseThreadStateNativeWrapperProtocol command-line options and details.

  • Zing 20.04.0.0 excludes debug symbols embedded in libjvm.so, which reduces the filesystem footprint of a Zing installation by 280 MB.

    Contact [email protected] if you need to install debug symbols for Zing.

Resolved Issues

Issue ID Description

ZVM-15020

Illegal memcpy generated through the optimizer.

ZVM-14815

getPercentJavaHeapOccupiedAfterCollection() returns 0.

ZVM-10128

Runtime.getRuntime().availableProcessors() returns an incorrect value when affinity is set.

Known Issues

Issue ID Description

ZVM-14636

Heap dumps and JVMTI object tagging are not supported with UseEpsilonGC.