RFR: JDK-8148759: G1AllocRegion::_count inconsistently used if more than one context is active

Jesper Wilhelmsson jesper.wilhelmsson at oracle.com
Thu Mar 17 17:47:49 UTC 2016


Looks good!
/Jesper

Den 17/3/16 kl. 18:04, skrev Bengt Rutisson:
>
> Hi everyone,
>
> Could I have a couple of reviews for this change?
>
> http://cr.openjdk.java.net/~brutisso/8148759/webrev.00
> https://bugs.openjdk.java.net/browse/JDK-8148759
>
> The _count value is per G1GCAllocRegion, so if we have more than one survivor
> alloc region we will notice too late that we have exceeded the maximum number of
> regions we had decided to use for survivors.
>
> The proposed patch uses young_list()->survivor_length() instead, which is a
> "global" value for all alloc regions. This value used to be updated when we
> retired a region, but to make proper use of it it needs to be updated when we
> pick a new survivor region. Thus, I had to move the call to
> young_list()->add_survivor_region(). I've gone through and checked other users
> of the values updated by add_survivor_region() and I haven't found anyone that
> is using this value inside of the actual evacuation path, which is where the
> difference would be noticeable.
>
> Thanks,
> Bengt


More information about the hotspot-gc-dev mailing list