RFR: 8332913: GenShen: Restore shared update refs iterator
Y. Srinivas Ramakrishna
ysr at openjdk.org
Fri May 24 19:10:19 UTC 2024
On Fri, 24 May 2024 19:03:38 GMT, Y. Srinivas Ramakrishna <ysr at openjdk.org> wrote:
>> Turns out, this iterator is shared between concurrent and degenerated GC cycles. It should not have been made into a local variable.
>
> src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp line 2384:
>
>> 2382: workers()->run_task(&task);
>> 2383: }
>> 2384: assert(cancelled_gc() || !update_refs_iterator.has_next(), "Should have finished update references");
>
> Should one keep this assert, but have it refer to the `_update_refs_iterator` field that you restored in shHeap?
I do see that the assert in `op_final_updaterefs()` checks this at the start of the next phase, so may be we are adequately covered already.
-------------
PR Review Comment: https://git.openjdk.org/shenandoah/pull/439#discussion_r1613903745
More information about the shenandoah-dev
mailing list