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:


More information about the hotspot-dev mailing list