RFR: Handle old, pinned regions [v7]
Y. Srinivas Ramakrishna
ysr at openjdk.org
Mon Aug 8 18:21:41 UTC 2022
On Fri, 5 Aug 2022 22:58:46 GMT, William Kemper <wkemper at openjdk.org> wrote:
>> src/hotspot/share/gc/shenandoah/heuristics/shenandoahOldHeuristics.cpp line 212:
>>
>>> 210: if (region->is_regular() || region->is_pinned()) {
>>> 211: if (!region->has_live()) {
>>> 212: assert(!region->is_pinned(), "Pinned region should have live (pinned) objects.");
>>
>> This comment pertains to lines 231-234 below for the case where the immediate_regions and immediate_garbage for the humongous regions are being counted. I think while it correctly counts the contribution of the Humongous Continuations, I believe because of the "else if" it misses the contribution of the first Humongous Starts region.
>>
>> This isn't a serious issue, however, since it's just a value that is logged rather than being used in guiding any steps/heuristics in the collection. Not your change, but thought I'd mention it.
>
> That's a good catch! Eventually we could have a threshold for the amount of `immediate_garbage` above which we would _not_ continue with the old collection (i.e., we found enough immediate garbage to skip mixed collections). I will open a separate PR to fix this.
Thanks! Closing the loop by linking the PR: https://github.com/openjdk/shenandoah/pull/157
-------------
PR: https://git.openjdk.org/shenandoah/pull/149
More information about the shenandoah-dev
mailing list