RFR: 8328075: Shenandoah: Avoid forwarding when objects don't move in full-GC

William Kemper wkemper at openjdk.org
Thu Mar 14 16:01:43 UTC 2024


On Wed, 13 Mar 2024 16:26:30 GMT, Roman Kennke <rkennke at openjdk.org> wrote:

> Currently, in Shenandoah's full-GC, we forward all marked objects (and preserve their headers), even if they don't move. This typically happens for a certain amount of 'sediment' that accumulates at the bottom of the heap. This results in wasted CPU cycles and memory accesses and usage. It can easily be avoided by not forwarding objects that don't move.
> 
> The fix is to simply not forward objects when they don't move.
> 
> Testing:
>  - [x] hotspot_gc_shenandoah
>  - [x] tier1 +UseShenandoahGC

LGTM

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

Marked as reviewed by wkemper (Committer).

PR Review: https://git.openjdk.org/jdk/pull/18280#pullrequestreview-1937132581


More information about the shenandoah-dev mailing list