Request for Review (s) - 8060463: ParNew: SurvivorAlignmentInBytes greater then YoungPLABSize cause assert(obj != NULL || plab->words_remaining() < word_sz) failed: Else should have been able to allocate

Jon Masamitsu jon.masamitsu at oracle.com
Thu Mar 24 16:00:38 UTC 2016


Thanks Sangheon, Thomas, and Michail.  Latest versions:

Delta
http://cr.openjdk.java.net/~jmasa/8060463/webrev_delta.00_01/

Full
http://cr.openjdk.java.net/~jmasa/8060463/webrev.01/index.html

Jon


On 3/20/2016 8:04 PM, Jon Masamitsu wrote:
> If SurvivorAlignmentInBytes is larger than the size of the promotion
> LAB an allocation aligned to SurvivorAlignmentInBytes  may fail. The
> allocation of the PLAB depends of the size of the object being
> allocated and if the PLAB is successfully allocated the allocation
> of the object should succeeded (and is checked by an assertion).
> For alignments larger than  PLAB, a larger PLAB is sometimes needed
> to allow for the alignment.
>
> The fix does not try to avoid the need for a new PLAB at the
> next promotion by making the PLAB even larger.  The large
> values of SurvivorAlignmentInBytes  are allowed but not
> expected.  I chose not to make the PLAB even larger for a
> situation I don't expect to see in practice.
>
> https://bugs.openjdk.java.net/browse/JDK-8060463
> http://cr.openjdk.java.net/~jmasa/8060463/webrev.00/
>
> Tested with the newly added test which check a range
> of SurvivorAlignmentInBytes values.
>
> Thanks.
>
> Jon



More information about the hotspot-gc-dev mailing list