RFR: 8364212: Shenandoah: Rework archived objects loading [v2]

Aleksey Shipilev shade at openjdk.org
Wed Jul 30 09:59:14 UTC 2025


On Tue, 29 Jul 2025 19:46:32 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:

>> Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   A bit more verification
>
> src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp line 2791:
> 
>> 2789:   // Fill the tail with the filler object.
>> 2790:   HeapWord* regions_end = align_up(end, ShenandoahHeapRegion::region_size_bytes());
>> 2791:   if (regions_end > end) {
> 
> I believe fill_with_dummy_object() assumes regions_end - end >= min_fill_size.  If this is not true, you may need to leave the remnant within this region unfilled.  (We have special handling throughout to deal specially with remnants at ends of regions that are smaller than min_fill_size)

Right. Grrr. Let's scrap the filler object idea then, and just ask freeset to deal with the trailing (non-full) region itself. Done in new commit.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26510#discussion_r2242129865


More information about the hotspot-gc-dev mailing list