RFR: 8332548: GenShen: Factor generational mode out of gc helpers

William Kemper wkemper at openjdk.org
Tue May 21 21:16:24 UTC 2024


On Tue, 21 May 2024 17:55:04 GMT, Y. Srinivas Ramakrishna <ysr at openjdk.org> wrote:

>> src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.cpp line 175:
>> 
>>> 173:         // and this degenerated cycle. These pointers need to be included the 'read' table
>>> 174:         // used to scan the remembered set during the STW mark which follows here.
>>> 175:         _generation->merge_write_table();
>> 
>> Interesting. I am trying to understand this diff (the change in nesting looks curious because I didn't see anything change above. As a result, this specifically generational work(?) may have been pulled into the `else {` arm of the if-then-else at lines 145-149, introducing a bug?
>> 
>> Or is this intentional and I am missing some subtle reasoning here?
>
> Or may be just an issue with how this displays in the diffs. Worth a quick check.

Good eye. I pulled this into the preceding `else` block because `merge_write_table` really means `merge_write_card_table`. It's only for the generational mode, so we don't need to execute it in non-generational modes as was done before this change.

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

PR Review Comment: https://git.openjdk.org/shenandoah/pull/436#discussion_r1608956514


More information about the shenandoah-dev mailing list