RFR: Cleanups, TODOs, asserts (part 1) [v2]

William Kemper wkemper at openjdk.org
Thu Apr 13 16:28:33 UTC 2023


On Mon, 10 Apr 2023 21:22:16 GMT, Y. Srinivas Ramakrishna <ysr at openjdk.org> wrote:

>> src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp line 125:
>> 
>>> 123:     // Concurrent remembered set scanning
>>> 124:     entry_scan_remembered_set();
>>> 125:     // TODO: When RS scanning yields, we will need a check_cancellation_and_abort() degeneration point here.
>> 
>> We need to be really careful when transitioning to a degenerated cycle after RS scan is complete. Logically, the RS scan is part of the concurrent root scan, but it didn't get implemented with that pattern.
>
> @earthling-amzn : should this go into the `entry_mark_roots()` below then? Clearly, it seems that we can't really have a degeneration point after remembered set scanning from how I understood your comment, so the documentation comment above (to which Aleksey merely added the `TODO:` prefix) is incorrect and should be either removed entirely or corrected suitably?

I think it's fair to leave it as a TODO. Interrupting he RS scan is something we want and we have tried in the past, but we shelved it because it was more complicated than expected.

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

PR Review Comment: https://git.openjdk.org/shenandoah/pull/245#discussion_r1165772012


More information about the shenandoah-dev mailing list