RFR (XS): Heap alignment should agree with ShenandoahMaxRegionSize
Aleksey Shipilev
shade at redhat.com
Fri Mar 3 16:15:04 UTC 2017
Hi,
Tried to use 1G regions with 4T heap, and fastdebug failed with
# assert((((size_t) _first_region_bottom) &
(ShenandoahHeapRegion::RegionSizeBytes - 1)) == 0) failed: misaligned heap:
0x00007b05f4000000
This is because CollectedHeap::conservative_heap_alignment() returns 32M, not
the value overridden from the command line! And, we poll the value from G1, not
from our own ShenandoahHeapRegion! Remarkably, in 8u, we return
ShenandoahMaxRegionSize.
This is the fix for 9:
http://cr.openjdk.java.net/~shade/shenandoah/regionsizes-heap-align/webrev.01/
Moved both constants close to verification code that their only use. Will commit
a part of this patch to 8u that does the same.
Testing: hotspot_gc_shenandoah (9/8u), 1G regions with 4T heap startup :)
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list