> 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
Ioi Lam has updated the pull request incrementally with one additional commit since the last revision: @lmesnik comments ------------- Changes: - all: https://git.openjdk.org/jdk/pull/24401/files - new: https://git.openjdk.org/jdk/pull/24401/files/3ad42a3e..90b4b688 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=24401&range=02 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=24401&range=01-02 Stats: 2 lines in 1 file changed: 1 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jdk/pull/24401.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/24401/head:pull/24401 PR: https://git.openjdk.org/jdk/pull/24401