On Tue, 19 Nov 2024 23:07:21 GMT, William Kemper <wkem...@openjdk.org> wrote:
>> src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.cpp line 44: >> >>> 42: for (size_t idx = 0; idx < num_regions; idx++) { >>> 43: ShenandoahHeapRegion* r = heap->get_region(idx); >>> 44: if (r->is_affiliated() && heap->is_bitmap_slice_committed(r) && >>> !is_bitmap_clear_range(r->bottom(), r->end())) { >> >> I don't understand this for single gen mode. In that mode `is_affiliated() >> == false` always, right? So this check never passes, and `is_bitmap_clear` >> always returns `true`? > > No, in single gen mode regions that are not `FREE` are affiliated with > `YOUNG`. That's weird. We have `Young`, `Old` and `Global` generations. Why affiliation is not `Free`, `Young`, `Old`, and `Global` then? ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/21273#discussion_r1850665665