RFR: Humongous top() should be correct for iteration

Aleksey Shipilev shade at redhat.com
Tue Sep 12 12:38:14 UTC 2017


Setting ShenandoahHumongousThreshold=90 starts to crash VM during object iteration. This happens
because we set "top" to "end" in humongous allocation path, and iteration uses that as the scanning
boundary. This is incorrect with non-full humongous start region, which does not have anything past
the actual object. While fixing that, we can also make humongous regions report their true use
(because we put correct "top") and liveness.

Fix:
  http://cr.openjdk.java.net/~shade/shenandoah/humongous-use/webrev.02/

Testing: hotspot_gc_shenandoah + added failing config to the test

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list