RFR[S]: 8239014 -XX:-UseEmptySlotsInSupers sometime fails to reproduce the layout of the old code

Frederic Parain frederic.parain at oracle.com
Fri Feb 14 18:34:19 UTC 2020


Hi David,

Here’s a new webrev with a test case:
http://cr.openjdk.java.net/~fparain/8239014/webrev.01/

When -XX:-UseEmptySlotsInSupers is used, the field layout code
emulates the behavior of the old code by appending fields after
the rounded up end of the super class, adding primitive fields
by decreasing size, then oops.

The issue was that this strategy doesn’t fill the gap after the
header when the class pointer is 4 bytes and the first field is
either a long or a double. There was a special case in the old
code to handle this situation, but it was missing in the
emulation mode of the new code.

Thank you,

Fred


> On Feb 13, 2020, at 17:53, David Holmes <david.holmes at oracle.com> wrote:
> 
> Hi Fred,
> 
> Can you add a testcase for this? I can't really evaluate the change just by looking at the code.
> 
> Thanks,
> David
> 
> On 14/02/2020 6:28 am, Frederic Parain wrote:
>> Please review this small change that fix the behavior of-XX: -UseEmptySlotsInSupers.
>> CR: https://bugs.openjdk.java.net/browse/JDK-8239014
>> Webrev: http://cr.openjdk.java.net/~fparain/8239014/webrev.00/index.html
>> Thank you,
>> Fred



More information about the hotspot-dev mailing list