RFR: 8319867: GenShen: Make old regions parseable at end of concurrent cycles
Y. Srinivas Ramakrishna
ysr at openjdk.org
Sat Nov 11 00:22:33 UTC 2023
On Sat, 11 Nov 2023 00:07:26 GMT, Y. Srinivas Ramakrishna <ysr at openjdk.org> wrote:
>> src/hotspot/share/gc/shenandoah/shenandoahOldGeneration.cpp line 432:
>>
>>> 430: break;
>>> 431: case WAITING_FOR_BOOTSTRAP:
>>> 432: // GC cancellation can send us back to IDLE from any state.
>>
>> Since there isn't now a state named "IDLE", it might be less confusing to just say "FILLING" or "WAITING_FOR_BOOTSTRAP"? Should we assert here that there are no `coalesce_and_fill_candidates` or is that implied by perhaps stronger checks below? (Wouldn't hurt even if so.)
>
> assert(_state != BOOTSTRAP && _state != WAITING_FOR_BOOTSTRAP, "Illegal transition");
I am thinking that the most parsimonious way of covering all bases is by associating a pre-condition with entering each state and a post-condition with exiting each state, and verifying those conditions in the transition validation methods. But may be that can be done as a separate PR if it makes sense.
-------------
PR Review Comment: https://git.openjdk.org/shenandoah/pull/355#discussion_r1390052540
More information about the shenandoah-dev
mailing list