> 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 `JAVA_AOT_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
> Picked up JAVA_TOOL_OPTIONS: -Djava.class.path=HelloWorld.jar 
> -XX:AOTCacheOutput=foo.aot -XX:AOTConfiguration=foo.aot.config 
> -XX:AOTMode=create
> 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 14 commits:

 - Merge branch 'master' into 8355798-implement-leyden-ergo-jep-8350022
 - Update java man page
 - Use one-step training by default in AOT testing
 - Implemented JTREG=AOT_JDK=(onestep|twostep); default is onestep
 - @ashu-mehra comments; renamed test to JavaAOTOptionsEnvVar.java
 - @vnkozlov comments
 - AOT_TOOL_OPTIONS -> JAVA_AOT_OPTIONS
 - Remove %t restriction
 - Added %p substitution; clean up
 - Merge branch 'master' into 8355798-implement-leyden-ergo-jep-8350022
 - ... and 4 more: https://git.openjdk.org/jdk/compare/45dfc2c6...b044953e

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

Changes: https://git.openjdk.org/jdk/pull/24942/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24942&range=04
  Stats: 1893 lines in 22 files changed: 1387 ins; 456 del; 50 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

Reply via email to