RFR: 8352185: Shenandoah: Invalid logic for remembered set verification [v11]

Xiaolong Peng xpeng at openjdk.org
Thu Mar 20 23:20:09 UTC 2025


On Thu, 20 Mar 2025 20:16:14 GMT, William Kemper <wkemper at openjdk.org> wrote:

>> Xiaolong Peng has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Fix wrong comments
>
> src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp line 711:
> 
>> 709:   }
>> 710: 
>> 711:   if (ShenandoahVerify && heap->mode()->is_generational()) {
> 
> Are we calling `verify_before_concmark` twice in generational mode? Should we delete this second call here?

Thanks, the condition here is wrong. I have updated code only verify after swap read/write table.

> src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp line 1377:
> 
>> 1375:   log_debug(gc)("Verifying remembered set at %s mark", old_generation->is_doing_mixed_evacuations() ? "mixed" : "young");
>> 1376: 
>> 1377:   ShenandoahWriteTableScanner scanner(ShenandoahGenerationalHeap::heap()->old_generation()->card_scan());
> 
> Can use existing local variable: `old_generation`?

Fixed.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24092#discussion_r2006592728
PR Review Comment: https://git.openjdk.org/jdk/pull/24092#discussion_r2006590066


More information about the shenandoah-dev mailing list