RFR: 8350898: Shenandoah: Eliminate final roots safepoint [v2]
Kelvin Nilsen
kdnilsen at openjdk.org
Tue Mar 4 15:02:04 UTC 2025
On Mon, 3 Mar 2025 18:30:33 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 10 commits:
>
> - 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
> - WIP: Transfer pointers out of SATB with a handshake
> - WIP: Clear weak roots flag concurrently
Thanks. Great improvement.
src/hotspot/share/gc/shenandoah/shenandoahOldGeneration.cpp line 458:
> 456:
> 457: // Step 1. All threads need to 'complete' partially filled, thread local buffers. This
> 458: // is accomplished in ShenandoahConcurrentGC::complete_abbreviated_cycle using a Handshake
I think we're talking about "complete processing" of thread-local satb buffers. To avoid confusion with tlab, maybe add satb to this comment.
-------------
Marked as reviewed by kdnilsen (Committer).
PR Review: https://git.openjdk.org/jdk/pull/23830#pullrequestreview-2657883998
PR Review Comment: https://git.openjdk.org/jdk/pull/23830#discussion_r1979620964
More information about the shenandoah-dev
mailing list