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

Bernd Mathiske bmathiske at openjdk.java.net
Thu Mar 18 10:59:58 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.)

This pull request has now been integrated.

Changeset: 1c4b4ef9
Author:    Bernd Mathiske <bmathiske at openjdk.org>
Committer: Roman Kennke <rkennke at openjdk.org>
URL:       https://git.openjdk.java.net/shenandoah/commit/1c4b4ef9
Stats:     78 lines in 4 files changed: 30 ins; 26 del; 22 mod

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

Reviewed-by: rkennke

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

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


More information about the shenandoah-dev mailing list