RFR: 8367708: GenShen: Reduce total evacuation burden [v2]

William Kemper wkemper at openjdk.org
Tue Sep 16 19:21:51 UTC 2025


On Tue, 16 Sep 2025 17:56:23 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:

>> src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp line 1442:
>> 
>>> 1440:   assert(start->is_humongous_start(), "reclaim regions starting with the first one");
>>> 1441: 
>>> 1442:   // Cannot access humongous_obj->size() in case class has been unloaded
>> 
>> Why do we want to make two passes over the humongous object? I don't see why the original code needs to change or how this change is related to this PR?
>
> There's a comment in the "new code" that we have to reclaim from the tail.  Otherwise assertion fails when printing region to trace log. 
> 
> I agree it is unclear how this relates to current PR.  I'll revert and see if something breaks.

Thanks. We talked about this comment in the original PR: https://github.com/openjdk/jdk/pull/26256. It's a stale comment. I ran a pipeline with `gc*=trace` (and also inspected all usages).

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

PR Review Comment: https://git.openjdk.org/jdk/pull/27278#discussion_r2353429010


More information about the hotspot-gc-dev mailing list