On Thu, 3 Apr 2025 15:46:31 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 > > Ioi Lam has updated the pull request incrementally with one additional commit > since the last revision: > > more clean up
Changes requested by lmesnik (Reviewer). test/hotspot/jtreg/runtime/cds/appcds/AOTFlags.java line 28: > 26: * @test > 27: * @summary "AOT" aliases for traditional CDS command-line options > 28: * @requires vm.cds & vm.compMode != "Xcomp" The test completely ignore external VM flags, so it should have `@requires vm.flagless ` and no Xcomp exclusion is required. ------------- PR Review: https://git.openjdk.org/jdk/pull/24401#pullrequestreview-2740946504 PR Review Comment: https://git.openjdk.org/jdk/pull/24401#discussion_r2027621201