On Tue, 20 May 2025 03:43:39 GMT, Ioi Lam <ik...@openjdk.org> wrote:

>> 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 incrementally with one additional commit 
> since the last revision:
> 
>   Fixed merge

make/RunTests.gmk line 753:

> 751:  $$(call MakeDir, $$($1_AOT_JDK_OUTPUT_DIR))
> 752: 
> 753:   ifeq ($$($1_TRAINING), onestep)

Sorry for not noticing this earlier. This is a conditional within a recipe. The 
preferred style for those are to align the `ifeq`, `else` and `endif` with the 
recipe itself, using spaces (as it's not a recipe line), and then indent the 
body with 2 extra spaces for logical indentation. See points 5 and 6 in 
https://openjdk.org/groups/build/doc/code-conventions.html. You can find an 
example of this in `make/Bundles.gmk`.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24942#discussion_r2098741011

Reply via email to