RFR: 8355003: Implement Ahead-of-Time Method Profiling

Igor Veresov iveresov at openjdk.org
Sat Apr 26 23:38:46 UTC 2025


On Sat, 26 Apr 2025 21:07:04 GMT, Vladimir Kozlov <kvn 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
>
> src/hotspot/share/runtime/init.cpp line 189:
> 
>> 187: #endif
>> 188: 
>> 189:   if (TrainingData::have_data() || TrainingData::need_data()) {
> 
> Why 2 checks? Comment please.

Because it's only needed if we're recording or replaying. I'll add a comment.

> test/hotspot/jtreg/runtime/cds/appcds/aotProfile/AOTProfileFlags.java line 30:
> 
>> 28:  * @requires vm.cds
>> 29:  * @comment work around JDK-8345635
>> 30:  * @requires !vm.jvmci.enabled
> 
> Consider adding:
> 
>  * @requires vm.cds.supports.aot.class.linking
>  * @requires vm.flagless

Could you please explain why? @iklam, what do you think?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24886#discussion_r2061836271
PR Review Comment: https://git.openjdk.org/jdk/pull/24886#discussion_r2061832468


More information about the hotspot-compiler-dev mailing list