RFR: 8350898: Shenandoah: Eliminate final roots safepoint [v4]

Cesar Soares Lucas cslucas at openjdk.org
Thu Mar 13 18:12:00 UTC 2025


On Tue, 11 Mar 2025 21:49:06 GMT, William Kemper <wkemper at openjdk.org> wrote:

>> This PR converts the final roots safepoint operation into a handshake. The safepoint operation still exists, but is only executed when `ShenandoahVerify` is enabled. In addition to this change, this PR also improves the logging for the concurrent preparation for update references from [PR 22688](https://github.com/openjdk/jdk/pull/22688).
>
> William Kemper has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 12 commits:
> 
>  - Merge remote-tracking branch 'jdk/master' into eliminate-final-roots
>  - Clarify which thread local buffers in comment
>  - Merge remote-tracking branch 'jdk/master' into eliminate-final-roots
>  - Fix comments
>  - Add whitespace at end of file
>  - More detail for init update refs event message
>  - Use timing tracker for timing verification
>  - Merge remote-tracking branch 'jdk/master' into eliminate-final-roots
>  - WIP: Fix up phase timings for newly concurrent final roots and init update refs
>  - WIP: Combine satb transfer with state propagation, restore phase timing data
>  - ... and 2 more: https://git.openjdk.org/jdk/compare/1dd9cf10...a3575f1e

Marked as reviewed by cslucas (Author).

src/hotspot/share/gc/shenandoah/shenandoahOldGeneration.cpp line 129:

> 127:   ShenandoahSATBMarkQueueSet&  _satb_queues;
> 128:   ShenandoahObjToScanQueueSet* _mark_queues;
> 129:   volatile size_t              _trashed_oops;

NIT: perhaps a comment about why this needs to be volatile?

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

PR Review: https://git.openjdk.org/jdk/pull/23830#pullrequestreview-2682970505
PR Review Comment: https://git.openjdk.org/jdk/pull/23830#discussion_r1994072609


More information about the shenandoah-dev mailing list