RFR: 8332913: GenShen: Restore shared update refs iterator [v2]

William Kemper wkemper at openjdk.org
Fri May 24 20:55:14 UTC 2024


On Fri, 24 May 2024 19:07:24 GMT, Y. Srinivas Ramakrishna <ysr at openjdk.org> wrote:

>> 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.

Right, the assert is moved to `op_final_updaterefs` and covers the case for concurrent and degenerated cycles.

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

PR Review Comment: https://git.openjdk.org/shenandoah/pull/439#discussion_r1614010859


More information about the shenandoah-dev mailing list