RFR: 8355638: Allow -Xlog:aot to be used as an alias for -Xlog:cds when using AOT cache [v3]
Vladimir Kozlov
kvn at openjdk.org
Thu May 8 01:24:59 UTC 2025
On Wed, 7 May 2025 18:13:41 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)
>
> Ioi Lam has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 14 additional commits since the last revision:
>
> - cds+aot+load -> aot+load
> - Merge branch 'master' into 8355638-xlog-aot-as-alias-for-xlog-cds
> - @jdksjolen comment
> - Fixed comment
> - 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
> - ... and 4 more: https://git.openjdk.org/jdk/compare/1bfc597d...b772b3d4
I found typo UL ouput in filemap.cpp: [arrow_klass_pointer_bits](https://github.com/openjdk/jdk/blob/master/src/hotspot/share/cds/filemap.cpp#L1513)
-------------
Changes requested by kvn (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/24895#pullrequestreview-2823587951
More information about the hotspot-runtime-dev
mailing list