RFR: 8324649: Shenandoah: refactor implementation of free set [v2]
Kelvin Nilsen
kdnilsen at openjdk.org
Fri Jan 26 18:51:45 UTC 2024
On Fri, 26 Jan 2024 18:41:57 GMT, William Kemper <wkemper at openjdk.org> wrote:
>> Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Remove unnecessary change related to debugging
>
> src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp line 166:
>
>> 164: // equal to ShenandoahHeapRegion::humongous_threshold_words(). The caller of allocate_single is responsible
>> 165: // for registering the resulting object and setting the remembered set card values as appropriate. The
>> 166: // most common case is that we are allocating a PLAB in which case object registering and card dirtying
>
> Nit pick, but isn't this called for all allocations that are not humongous? Why do we say that PLAB is the most common? Also, much of this comment only applies to the generational mode.
Thanks for catching the inappropriate mention of generational issues here. I'll remove this.
I still think it is the case that the most common allocation is a TLAB and/or GCLAB. It is only when TLAB/GCLAB allocations fail that we try to do a "shared allocation" of exactly the size of the object to be allocated.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/17561#discussion_r1468024928
More information about the hotspot-gc-dev
mailing list