RFR: 8355003: Implement Ahead-of-Time Method Profiling [v4]

Vladimir Kozlov kvn at openjdk.org
Mon Apr 28 17:37:54 UTC 2025


On Mon, 28 Apr 2025 09:15:28 GMT, Igor Veresov <iveresov at openjdk.org> wrote:

>> Improve warm-up time by making profile data from a previous run of an application instantly available, when the HotSpot Java Virtual Machine starts. Specifically, enhance the [AOT cache](https://openjdk.org/jeps/483) to store method execution profiles from training runs, reducing profiling delays in subsequent production runs.
>> 
>> More details in the JEP: https://bugs.openjdk.org/browse/JDK-8325147
>
> Igor Veresov has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 32 commits:
> 
>  - Merge branch 'master' into pp2
>  - Fix class filtering
>  - Remove the workaround of setting AOTRecordTraining during assembly
>  - Address some of the review comments
>  - Merge branch 'master' into pp
>  - Add AOTCompileEagerly flag to control compilation after clinit
>  - Port 8355334: [leyden] Missing type profile info in archived training data
>  - Port 8355296: [leyden] Some methods are stuck at level=0 with -XX:-TieredCompilation
>  - Use ENABLE_IF macro
>  - Missing part of the last commit
>  - ... and 22 more: https://git.openjdk.org/jdk/compare/2447b981...7fb7ae62

Looks better.
There are still places where UL is used specifically for TD processing. Consider using `(aot, training)` there instead of `(cds)`.

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

PR Review: https://git.openjdk.org/jdk/pull/24886#pullrequestreview-2800131686


More information about the hotspot-compiler-dev mailing list