Integrated: 8370682: G1: Survivor regions not in young gen cset group

Thomas Schatzl tschatzl at openjdk.org
Tue Nov 4 08:51:46 UTC 2025


On Thu, 30 Oct 2025 09:55:11 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:

> Hi all,
> 
>   please review this change to fix the inconsistency of survivor regions having a reference to the young gen cardset group, but the cardset group not containing these regions. That also causes some hack in full gc to remove that link separately during GC.
> 
> Basically the fix is to avoid adding the survivor regions to the young gen cardset group during gc (where at the end we would remove that link when resetting the young gen cardset), but only add them at the end after clearing the young gen cardset group. Since we already track survivor regions separately during GC for similar purposes, there is no extra complication with that.
> 
> This is made possible by GC not using the young gen cardset during evacuation for determining the need for remembered set tracking, but uses the region attribute table only (apart from some asserts that are now handled separately).
> 
> (Fwiw, so to make any newly allocated region start tracking remembered sets, just set that flag in the region attribute table; one can decide at the end of GC what to do with these regions wrt to remembered set maintenance)
> 
> Testing: gha, tier1-3
> 
> Thanks,
>   Thomas

This pull request has now been integrated.

Changeset: e4aed95c
Author:    Thomas Schatzl <tschatzl at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/e4aed95cac343f1339b9bc87721561bdc4c2f5ad
Stats:     42 lines in 4 files changed: 22 ins; 10 del; 10 mod

8370682: G1: Survivor regions not in young gen cset group

Reviewed-by: iwalulya, ayang

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

PR: https://git.openjdk.org/jdk/pull/28056


More information about the hotspot-gc-dev mailing list