On Tue, 6 May 2025 06:31:43 GMT, Igor Veresov <ivere...@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 43 commits:
> 
>  - Merge branch 'master' into pp2
>  - Fix compile
>  - Fix additional issues
>  - Make sure command line flags that affect MDO layout are consistent
>  - Fix semantics change from the previous commit
>  - Port 8355915: [leyden] Crash in MDO clearing the unloaded array type
>  - Fix flag behavior
>  - Fix log tags
>  - Remove the proxy class counter
>  - Address review comments part 2
>  - ... and 33 more: https://git.openjdk.org/jdk/compare/e09d2e27...7d22a42a

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/memory/FileMapInfo.java 
line 129:

> 127:     metadataTypeArray[5] = db.lookupType("InstanceStackChunkKlass");
> 128:     metadataTypeArray[6] = db.lookupType("Method");
> 129:     metadataTypeArray[9] = db.lookupType("MethodData");

It looks like MethodData inheriting from Metadata is not a new change, but has 
always been the case. I'm surprised this didn't cause any test failures before 
your changes. Did you end up with test failures after your changes?

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/Threads.java line 
154:

> 152:         if (!VM.getVM().isCore()) {
> 153:             virtualConstructor.addMapping("CompilerThread", 
> CompilerThread.class);
> 154:             virtualConstructor.addMapping("TrainingReplayThread", 
> TrainingReplayThread.class);

The new SA TrainingReplayThread class is not needed since it only overrides 
isHiddenFromExternalView() to return true. You can instead use 
HiddenJavaThread.class here.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24886#discussion_r2076064357
PR Review Comment: https://git.openjdk.org/jdk/pull/24886#discussion_r2076058595

Reply via email to