RFR: Only scan dirty cards, not entire regions, in update refs remset scan.

Roman Kennke rkennke at openjdk.java.net
Tue Mar 16 12:07:31 UTC 2021


On Fri, 12 Mar 2021 21:11:45 GMT, Bernd Mathiske <bmathiske at openjdk.org> wrote:

> So far in update refs, when iterating over regions to process the remset, we scan an entire region for references into young gen if we find any dirty card in it. With this update, we only process dirty cards in each region and leave out clean ones. To do so, we refactor the scan code from the marking phase into a method that is then reused for update refs, passing down a different closure. The JVM switch `ShenandoahUseSimpleCardScanning` provides a means to fall back on the previous code.
> 
> (In the future, we may want to replace region stealing with card stealing.)

Looks good! Thanks!

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

Marked as reviewed by rkennke (Reviewer).

PR: https://git.openjdk.java.net/shenandoah/pull/22


More information about the shenandoah-dev mailing list