RFR: 8337511: Implement JEP 404: Generational Shenandoah (Experimental) [v7]
Aleksey Shipilev
shade at openjdk.org
Wed Nov 20 20:22:28 UTC 2024
On Tue, 19 Nov 2024 23:07:21 GMT, William Kemper <wkemper at 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
More information about the shenandoah-dev
mailing list