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

Aleksey Shipilev shade at openjdk.org
Mon Aug 4 10:47:55 UTC 2025


On Sun, 3 Aug 2025 22:37:47 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:

>> The "theory" is that if the remainder of this region is available for allocations, then we should not count the remnant as humongous_waste.  Is there any reason why we could not allow additional allocations within the CDS regions?
>
> I agree that if we need to prevent further allocations in this region, then calling retire_from_partition() will account for the remnant memory as used and will prevent further allocations from this region.

> Is there any reason why we could not allow additional allocations within the CDS regions?

That code tries to accomplish exactly that, right? We only retire the regions that have too few free space. Otherwise they (well, the tail region, really) stays in mutator partition and can satisfy more allocations. This also avoid dealing with a possibility of having an unallocated tail in that tail region, which might not fit the smallest filler object.

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

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


More information about the hotspot-gc-dev mailing list