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

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


On Thu, 20 Mar 2025 22:18:43 GMT, Y. Srinivas Ramakrishna <ysr at openjdk.org> wrote:

>> Ok.  So we will always swap card tables, but we'll do it after verify-before-mark.  To clarify the intention, after we swap card table, the write-table is all clean, and the read table holds whatever had been gathered prior to the start of GC.  Young and bootstrap collection will update the write card table as a side effect of remembered set scanning.  Global collection will update the card table as a side effect of global marking of old objects.
>
> I'd leave a comment to this effect (along the lines of Kelvin's last comment) here. Did we measure the impact of this change on performance? In particular it would seem that the number of dirty old cards might now reduce after a global gc compared to before this change.
> 
> Ideally, this would be a change that would go in on its own. (There is no impact on correctness, since in the absence of this change, the dirty card set is an over-approximation.)

It is a bit hard to measure the impact on performance I think, but given the rem-set is more accurate, there shouldn't be any performance regression.

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

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


More information about the shenandoah-dev mailing list