On Tue, 13 May 2025 08:52:17 GMT, David Holmes <dhol...@openjdk.org> wrote:

> Some drive-by comments, not a full review as I find this all rather confusing 
> because I don't understand why we used "cds" in AOT specific code in the 
> first place. It makes perfect sense to me that AOT specific code logs to 
> "aot".
> 
> It makes far less sense to me why you ever introduced logging that required 
> "cds" and "aot" in the first place, so getting rid of that is a good thing.
> 
> For code shared between cds and aot it is less clear to me how to proceed. If 
> the intent is that CDS will be no more and everything is AOT, then a 
> transition path is needed for the logging. I guess this is where your macros 
> come in, though I'm a bit unclear as to why it can be controlled by a 
> user-defined command-line flag rather than only by the CDS/AOT selection 
> arguments operating directly on an internal CDS/AOT configuration setting. ???

Since [JEP 483](https://openjdk.org/jeps/483), all ahead-of-time optimizations 
in HotSpot fall under the "AOT" umbrella. We have several JEPs for new 
optimizations that use the AOT terminology. E.g., [JEP 515 - Ahead-of-Time 
Method Profiling](https://openjdk.org/jeps/515).

The traditional CDS functionality is part of (a strict subset of) AOT -- 
ahead-of-time processing of class metadata. Classical CDS VM flags such as 
`-Xshare` can be seen as special interfaces to a subset of the AOT 
functionality. We are providing these flags for backwards compatibility, as 
there are equivalent ways to access the same features (and more) with the new 
`-XX:AOTXXX` flags introduced in JEP 483. Eventually, I think we will deprecate 
and remove the classical CDS flags.

Given this background, moving `-Xlog:cds` to `-Xlog:aot` is part of the 
transition plan. These logs will probably be the first legacy CDS interfaces to 
be removed from the JDK.

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

PR Comment: https://git.openjdk.org/jdk/pull/25136#issuecomment-2878368790

Reply via email to