On Thu, 3 Apr 2025 04:00:59 GMT, Ioi Lam <ik...@openjdk.org> wrote:

> Since [JEP 483: Ahead-of-Time Class Loading & 
> Linking](https://openjdk.org/jeps/483), VM options such as `-XX:AOTCache `are 
> implemented as aliases of "classical" CDS options such as 
> `-XX:SharedArchiveFile`.
> 
> In anticipation of the [JEP: Ahead-of-time Command Line 
> Ergonomics](https://bugs.openjdk.org/browse/JDK-8350022), we should refactor 
> the code that deals with the AOT options. Specifically, as we expect the JVM 
> to be able to load from an "input AOT cache" and write to an "output AOT 
> cache", we should clearly identify the input and output caches in separate 
> APIs:
> 
> 
> const char* CDSConfig::input_static_archive_path();
> const char* CDSConfig::input_dynamic_archive_path();
> const char* CDSConfig::output_archive_path();
> 
> 
> This PR also cleans up the code by:
> - renaming a few function to reflect what they actually do
> - moving more "config" management code into cdsConfig.cpp
> 
> There's also a behavioral bug fix: before this PR, `-XX:AOTCache` was handled 
> by the `ergo_init_classic_archive_paths()` function, which allows two files 
> to be specified. E.g., `java -XX:AOTCache=static.jsa:dynamic.jsa`. That's 
> because `-XX:AOTCache` was implemented as an alias of 
> `-XX:SharedArchiveFile`, and the latter allows this usage.
> 
> However, this behavior is not specified in JEP 483. Allowing two files in 
> -XX:AOTCache will cause unnecessary complexity when we implement 
> [JDK-8353598: Allow AOT cache to be used in training 
> run](https://bugs.openjdk.org/browse/JDK-8353598). Therefore, I added new 
> test cases to disallow the use of two files.  This also means that we don't 
> need to modify  the already over-complicated 
> `ergo_init_classic_archive_paths()` for the AOT use cases

This pull request has now been integrated.

Changeset: 567c6885
Author:    Ioi Lam <ik...@openjdk.org>
URL:       
https://git.openjdk.org/jdk/commit/567c6885a377e5641deef9cd3498f79c5346cd6a
Stats:     309 lines in 15 files changed: 161 ins; 55 del; 93 mod

8353597: Refactor handling VM options for AOT cache input and output

Reviewed-by: kvn, asmehra

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

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

Reply via email to