RFR: 8357976: GenShen crash in swap_card_tables: Should be clean

Xiaolong Peng xpeng at openjdk.org
Tue Jun 10 20:31:28 UTC 2025


On Tue, 10 Jun 2025 20:14:49 GMT, William Kemper <wkemper at openjdk.org> wrote:

> Degenerated cycles must also clean the `read` card table before swapping it with the `write` card table.

src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp line 646:

> 644:   if (heap->mode()->is_generational()) {
> 645:     heap->old_generation()->card_scan()->mark_read_table_as_clean();
> 646:   }

I guess swap_card_tables has to be done at safe-point, otherwise we can move this to the place right before swap_card_tables is called in `op_init_mark`

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

PR Review Comment: https://git.openjdk.org/jdk/pull/25735#discussion_r2138715859


More information about the shenandoah-dev mailing list