23.02.0.0
23.02.0.0
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.soin 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,
AllocCodeCacheInLower2Ghas been introduced and is set totrueby 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
ConcurrentJVMTITagMapClearingand is set totrueby 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:safepointhas been changed to match OpenJDK for JDK13 and above.
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 |