RFR: 8355638: Allow -Xlog:aot to be used as an alias for -Xlog:cds when using AOT cache
Johan Sjölen
jsjolen at openjdk.org
Tue May 6 22:33:39 UTC 2025
On Sat, 26 Apr 2025 05:55:34 GMT, Ioi Lam <iklam at openjdk.org> wrote:
> *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)
src/hotspot/share/logging/logSelection.cpp line 25:
> 23: */
> 24:
> 25: #include "cds/cds_globals.hpp"
Maybe wrap this include in `INCLUDE_CDS` as well?
src/hotspot/share/logging/logSelectionList.cpp line 103:
> 101: injected_copy[1] = 'c';
> 102: injected_copy[2] = 'd';
> 103: injected_copy[3] = 's';
Just use `stringStream`
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24895#discussion_r2075978495
PR Review Comment: https://git.openjdk.org/jdk/pull/24895#discussion_r2075993963
More information about the hotspot-runtime-dev
mailing list