RFR (S) 8241841: Shenandoah: ditch one of allocation type counters in ShenandoahHeapRegion

Aleksey Shipilev shade at redhat.com
Mon Mar 30 12:54:52 UTC 2020


RFE:
  https://bugs.openjdk.java.net/browse/JDK-8241841

We currently count the allocation by type: TLAB, GCLAB, shared allocs. All together, they should add
up to the "used" space in the region. That means we can ditch one of the counters, and infer it from
the already tracked "used" size.

"Shared" counter seems to be the most profitable to go: it usually means either a small allocation
that does not need another small roadbump on allocation path, or the humongous allocation that does
increments for every region in the humongous chain.

This saves 4..8 bytes per region, and drops x86_32 size to 64 bytes (1 cache-line) without padding.

Fix:
  https://cr.openjdk.java.net/~shade/8241841/webrev.01/

Testing: hotspot_gc_shenandoah

-- 
Thanks,
-Aleksey




More information about the hotspot-gc-dev mailing list