RFR: 8355638: Allow -Xlog:aot to be used as an alias for -Xlog:cds when using AOT cache

Ioi Lam iklam at openjdk.org
Tue May 6 22:33:39 UTC 2025


*Specification:*

When the JVM is started with any of the following options: AOTCache, AOTCacheOutput, AOTConfiguration, AOTMode:

- Any `-Xlog` options that starts with the `aot` tag should also match any `LogTagSets` whose first tag is `LogTag::_cds`
- When printing a `LogTagSet` whose first tag is `LogTag::_cds`, if its `tags` decoration is to be printed, then the first tag in the decoration should be printed as `aot`.

*Examples:*

Control case -- this is an example of an old "cds" log. The decoration should be printed as "cds" to be backwards compatible

$ java -Xshare:auto -Xlog:cds --version | grep trying
[0.003s][info][cds] trying to map /jdk3/bld/vox/images/jdk/lib/server/classes.jsa


"aot" can be used to select the "cds" log, but the log will be printed with "aot" as its decoration

$ java -XX:AOTMode=auto -Xlog:aot --version | grep trying
[0.015s][info][aot] trying to map /jdk3/bld/vox/images/jdk/lib/server/classes.jsa


When using new -XX:AOT flags, even if you specify -Xlog:cds, the output will use "aot" decoration

$ java -XX:AOTMode=auto -Xlog:cds --version | grep tryi
[0.004s][info][aot] trying to map /jdk3/bld/vox/images/jdk/lib/server/classes.jsa


When using new -XX:AOT flags, error messages should be logged with "aot" decoration even when no -Xlog flags are specified

$ java -XX:AOTMode=auto -XX:AOTCache=nofile.aot --version
[0.009s][error][aot] An error has occurred while processing the AOT cache. Run with -Xlog:aot for details.
[0.009s][error][aot] Loading AOT cache failed: nofile.aot
java 25-internal 2025-09-16
Java(TM) SE Runtime Environment (build 25-internal-adhoc.iklam.vox)
Java HotSpot(TM) 64-Bit Server VM (build 25-internal-adhoc.iklam.vox, mixed mode)

-------------

Commit messages:
 - clean up of existing UL logs for cds
 - Fixed test cases
 - Merge branch 'master' into 8355638-xlog-aot-as-alias-for-xlog-cds
 - Much more simplification
 - Much simplified
 - More tightening .... but this may be the wrong approach
 - Added LogTagSet::verify_for_aot_aliases()
 - Simplified design/implementation: aliasing will always happen with new workflow; added PrintCDSLogsAsAOTLogs diagnostic flag
 - update
 - 8355638: Allow -Xlog:aot to be used as an alias for -Xlog:cds

Changes: https://git.openjdk.org/jdk/pull/24895/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24895&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8355638
  Stats: 185 lines in 13 files changed: 160 ins; 0 del; 25 mod
  Patch: https://git.openjdk.org/jdk/pull/24895.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/24895/head:pull/24895

PR: https://git.openjdk.org/jdk/pull/24895


More information about the hotspot-runtime-dev mailing list