RFR (S) 8184753: Assert against MinObjectAlignmentMask to avoid integer division
Aleksey Shipilev
shade at redhat.com
Mon Jul 17 19:40:02 UTC 2017
On 07/17/2017 06:00 PM, Aleksey Shipilev wrote:
> https://bugs.openjdk.java.net/browse/JDK-8184753
>
> fastdebug builds performance is important to minimize testing time. In GC tests,
> we have a big hotspot at this line in oop::size_given_klass():
> assert(s % MinObjAlignment == 0, "Oop size is not properly aligned: %d", s);
>
> The hotspot is because of the integer division. Alas, the divisor is not known
> at compile time, because it can be set from the JVM command line, so compiler
> cannot optimize it. There is an easy fix, use the MinObjectAlignmentMask to assert:
> http://cr.openjdk.java.net/~shade/8184753/webrev.01
>
> This also fixes all uses of MinObjAlignment in similar expressions.
Noticed two new asserts in arguments.cpp have excess whitespace, fixed:
http://cr.openjdk.java.net/~shade/8184753/webrev.02
-Aleksey
More information about the hotspot-dev
mailing list