RFR: 8365932: Implementation of JEP 516: Ahead-of-Time Object Caching with Any GC [v13]

Erik Österlund eosterlund at openjdk.org
Wed Oct 29 07:44:07 UTC 2025


On Tue, 28 Oct 2025 19:27:17 GMT, Erik Österlund <eosterlund at openjdk.org> wrote:

>> Erik Österlund has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 29 commits:
>> 
>>  - Merge branch 'master' into 8326035_JEP_object_streaming_v6
>>  - Merge branch 'master' into 8326035_JEP_object_streaming_v6
>>  - remove include
>>  - Interned string value word accounting
>>  - Dont load all objects when JVMTI CFLH is on
>>  - Remove duplicate string dedup disabling when dumping
>>  - Accept interned strings sharing value with another string
>>  - Merge branch 'master' into 8326035_JEP_object_streaming_v6
>>  - Missing unlock diagnostic VM options, and remove unintended comment
>>  - Fix for minimal
>>  - ... and 19 more: https://git.openjdk.org/jdk/compare/c3c0a676...00c4f588
>
> The HeapShared::get_root is the main synchronization point. When classes are loaded, their roots are installed by asking for the root object with the particular archived root index. The main thread then synchronizes with the AOT thread. Either the object graph is already loaded, is currently being loaded (in which case we wait), or has not started loading (in which case it is eagerly loaded).
> 
> Other than that, all archived classes are resolved before the first GC is allowed to run.

> Thank you @fisk for answering my questions. That is it for my review.

Thank you for the review Vladimir, much appreciated.

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

PR Comment: https://git.openjdk.org/jdk/pull/27732#issuecomment-3460210754


More information about the hotspot-dev mailing list