RFR (S) 8223446: Shenandoah breaks alignment with some HumongousThreshold values

Aleksey Shipilev shade at redhat.com
Tue May 7 10:48:41 UTC 2019


Bug:
  https://bugs.openjdk.java.net/browse/JDK-8223446

HumongousThreshold is not aligned to MinObjAlignment. Since HumongousThreshold drives the
MaxTLABSize, issuing such max-sized TLAB would leave allocation top unaligned. This readily
manifests on x86_32. x86_64 is more or less safe as default alignment matches the single HeapWord.

Fix:
  http://cr.openjdk.java.net/~shade/8223446/webrev.01/

This aligns all affected values, adds asserts, makes some computations use multiplication rather
than division to avoid awkward precision issues, and extends the test to capture more problems.

Testing: hotspot_gc_shenandoah (x86_32, x86_64)

-- 
Thanks,
-Aleksey




More information about the shenandoah-dev mailing list