RFR: 8324649: Shenandoah: refactor implementation of free set [v6]
Kelvin Nilsen
kdnilsen at openjdk.org
Wed Feb 7 18:47:58 UTC 2024
On Wed, 7 Feb 2024 18:29:41 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:
>> src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp line 36:
>>
>>> 34: enum ShenandoahFreeSetPartitionId : uint8_t {
>>> 35: NotFree, // Region has been retired and is not in any free set: there is no available memory.
>>> 36: Mutator, // Region is in the Mutator free set: available memory is available to mutators.
>>
>> Just want to make sure: "available to mutators" -- is this both for object allocation as well as for possible evacuation as part of the mutator LRB?
>
> For personal clarification: when the mutator LRB needs to evacuate an object, it uses the collector set. Each mutator has three TLABS: one for mutator allocations, one for young-gen evacuations, and one for old-gen evacuations. Let me know if you think we need more documentation around this.
(actually, the old-gen TLAB is not in single-generation Shenandoah, only in GenShen.)
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/17561#discussion_r1481928053
More information about the hotspot-gc-dev
mailing list