Visit Azul.com Support

23.02.0.0

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

23.02.0.0

Release Notes PDF

Release date: March 1, 2023

This release is based on Azul Prime 23.01.0.0 and corresponds to the following OpenJDK versions:

Major Version OpenJDK Version

8

1.8.0_362-b2

11

11.0.18+10-LTS

13

13.0.14+5-MTS

15

15.0.10+5-MTS

17

17.0.6+10-LTS

19

19.0.2+7-MTS

Note
Version 1 of the GC Log Analyzer has reached its end-of-life and has been replaced with Version 2 of the GC Log Analyzer. GC Log Analyzer 2 is included in Zing packages and can be found at <installdir>/etc/GCLogAnalyzer2.jar. The latest version of GC Log Analyzer is also available for download at https://docs.azul.com/prime/gcla/about-gcla.

What’s New

  • Zing 23.02.0.0 contains the General Availability (GA) release of Azul Prime Builds of OpenJDK 19 for x86_64 systems.

  • Cloud Native Compiler (CNC) 1.6.1 client support.

  • NativeMemoryTracking has been extended with further Falcon tracking support.

    To enable "extended tracking," set LD_PRELOAD=$JAVA_HOME/etc/zing/lib/libnmt_hooks.so in addition to regular NMT flags which are described in Native Memory Tracking Options and in the Oracle documentation.

  • Zing 23.02.0.0 introduces new CPU budgeting features for the Falcon Tier 2 compiler. CPU Budgeting tells the Tier 2 compiler when to run and how many CPU threads to use, pre and post warmup.

    With these new features, it is possible to specify allocated threads as a percent, meaning the compiler and the running application can share resources, resulting in less pauses and more stability for the running application. Previously, only whole numbers of threads could be allocated.

    To enable these new features, use the argument -XX:+EnableTier2CompilerBudgeting.

    New Falcon CPU Budgeting features are listed in Command Line Options, CPU Budgeting Options

  • A new command line option, AllocCodeCacheInLower2G has been introduced and is set to true by default. This option allocates code cache and related data structures at virtual address within 2 GB. To allow allocation to higher memory addresses, use -XX:-AllocCodeCacheinLower2G. This option is only available for x86_64 systems.

  • Lower GC pauses with JVMTI - JVMTI tag map clearing has been moved outside of safepoint pause by default. This is set by the command line argument ConcurrentJVMTITagMapClearing and is set to true by default.

  • Falcon improvement - Register allocation enhancement that improves code generation for derived pointers around GC safepoints. This allows derived pointers to rematerialize immediately before their use instead of after every safepoint. This is beneficial when a pointer is live across many statepoints but has few uses.

  • Allocation publication barrier optimizations for AArch64 in Falcon. Testing has yielded up to an 8.5% performance improvement from this optimization.

  • The output format for -Xlog:safepoint has been changed to match OpenJDK for JDK13 and above.

Known Issues

  • There are no new issues to report in this release.

Resolved Issues

Issue ID Description

ZVM-26265

Add jcmd, jmap, jps, jstack tools to jdk8 jre tar.gz

ZVM-25703

backport JDK-8297028 (UseContainerCpuShares ) missing for Prime Java 8 Jan 2023 (Oracle 8u361 equivalent)

ZVM-26144

attaching agent generates error: Skipping cleaning of inline cache

ZVM-25902

ProfilePersistCodeProfilesOnUncommonTraps may introduce a significant overhead

ZVM-25844

Tune FalconContextReset to lower value - Resolution: Reset frequency is chosen using an ergonomics heuristic. There is no need to tune the default value.

ZVM-25437

jdk/test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefinePreviousVersions.java failed with "java.lang.RuntimeException: 'Class unloading: has_previous_versions = false' missing from stdout/stderr"

ZVM-22464

JTreg crashed with JvmtiEnvBase::get_stack_trace

ZVM-26017

-Xlog:safepoint output format differs between Zing 17 and OpenJDK 17