RFR: Consistent liveness for humongous regions

Aleksey Shipilev shade at redhat.com
Fri Feb 23 09:43:01 UTC 2018


On 02/22/2018 10:45 PM, Roman Kennke wrote:
> When counting liveness on humongous regions, we current give all
> liveness to the start region, and leave the rest alone. For this
> reason, we have put exceptions to several asserts. This patch makes
> liveness counting more consistent for humongous regions by spreading
> it over all involved regions, just as it is done at allocation time.
> It also removes the exceptions in the asserts. It also removes an
> exception for traversal-gc, which I believe is fixed by this mornings
> liveness init patch.
> 
> Passes hotspot_gc_shenandoah
> 
> http://cr.openjdk.java.net/~rkennke/fix-humongous-live/webrev.00/

We need to optimize for the most frequent case (normal objects) better. Right now it does two
heap_region_index_containing calls per object. We can also use utility methods to calculate things.

Better version:
 http://cr.openjdk.java.net/~shade/shenandoah/humongous-accounting/webrev.00/

This has the second changeset you can apply over yours:
 http://cr.openjdk.java.net/~shade/shenandoah/humongous-accounting/webrev.00/shenandoah-jdk.changeset

-Aleksey



More information about the shenandoah-dev mailing list