> This is the implementation of the draft [JEP: Ahead-of-time Command Line > Ergonomics](https://bugs.openjdk.org/browse/JDK-8350022) > > - Implemented new flag `AOTCacheOutput`, which can be used to create an AOT > cache using the "one-command workflow" > - Added processing of the `JDK_AOT_VM_OPTIONS` environment variable that can > supply extra VM options when creating an AOT cache > - Added `%p` substitution for `AOTCache`, `AOTCacheOutput`, and > `AOTConfiguration` options > > Please see the [JEP](https://bugs.openjdk.org/browse/JDK-8350022) and > [CSR](https://bugs.openjdk.org/browse/JDK-8356010) for detailed specification. > > Examples: > > > # Create an AOT cache with a single command: > $ java -cp HelloWorld.jar -XX:AOTMode=record -XX:AOTCacheOutput=foo.aot > HelloWorld > Hello World > Temporary AOTConfiguration recorded: foo.aot.config > Launching child process /usr/bin/java to assemble AOT cache foo.aot using > configuration foo.aot.config > [...] > Reading AOTConfiguration foo.aot.config and writing AOTCache foo.aot > AOTCache creation is complete: foo.aot 10240000 bytes > > # Create logging file for the AOT cache assembly phase > $ export AOT_TOOL_COMMAND=-Xlog:cds:file=log.txt > $ java -cp HelloWorld.jar -XX:AOTMode=record -XX:AOTCacheOutput=foo.aot > HelloWorld > > > Note: the child process is launched with Java API because the HotSpot native > APIs are not sufficient (no way to set env vars for child process).
Ioi Lam has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 24 commits: - @erikj79 comments - Merge branch 'master' into 8355798-implement-leyden-ergo-jep-8350022 - @vnkozlov comments - added info about JTREG/AOT_JDK testing - fixed whitespace - Merge branch 'master' into 8355798-implement-leyden-ergo-jep-8350022 - java.md updates from @rose00 - Resolved differences with CSR JDK-8356010 - Added param to makefile function SetupAOT for choosing onestep vs twostep - Allow one-step training even when -XX:AOTMode=auto is specified - ... and 14 more: https://git.openjdk.org/jdk/compare/890456f0...0956fcad ------------- Changes: https://git.openjdk.org/jdk/pull/24942/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24942&range=09 Stats: 2088 lines in 24 files changed: 1564 ins; 459 del; 65 mod Patch: https://git.openjdk.org/jdk/pull/24942.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/24942/head:pull/24942 PR: https://git.openjdk.org/jdk/pull/24942