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

Roman Kennke rkennke at openjdk.org
Fri Mar 15 11:10: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

This pull request has now been integrated.

Changeset: 80ccc989
Author:    Roman Kennke <rkennke at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/80ccc989a892e4d9f4e2c9395a100cfabbdcda64
Stats:     6 lines in 1 file changed: 3 ins; 0 del; 3 mod

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

Reviewed-by: wkemper, shade, kdnilsen, ysr

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

PR: https://git.openjdk.org/jdk/pull/18280


More information about the shenandoah-dev mailing list