RFR: Borrow from old gen

Kelvin Nilsen kdnilsen at openjdk.java.net
Mon Feb 7 23:30:40 UTC 2022


On Mon, 7 Feb 2022 21:45:46 GMT, William Kemper <wkemper at openjdk.org> wrote:

>> This commit represents multiple months of incremental performance improvements to allow generational shenandoah to run more efficiently, especially with larger heap sizes and high memory utilization.
>> 
>> Specific improvements are described in individual commit log messages.
>
> src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp line 362:
> 
>> 360:   // At the end of update references, we perform the following bookkeeping activities:
>> 361:   //
>> 362:   // 1. Unadjust the capacity within young-gen and old-gen
> 
> Does "unadjust" mean we remove the evacuation reserve from the capacity?

We remove the "borrowed memory" from capacity.  But by the time we get to here, we have finished evacuating and updating, so the entirety of the collection set is added back in to the allocation capacity.

> src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp line 385:
> 
>> 383: 
>> 384:   size_t _old_evac_reserve;            // Bytes reserved within old-gen to hold evacuated objects from old-gen collection set
>> 385:   size_t _old_evac_expended;           // Bytes of old-gen memory expended on old-gen evacuations?
> 
> Why do these descriptive comments end with a question mark?

Thanks for noticing.  I'll change this.

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

PR: https://git.openjdk.java.net/shenandoah/pull/110


More information about the shenandoah-dev mailing list