RFR(M) 8148047: Move the vtable length field to Klass
Coleen Phillimore
coleen.phillimore at oracle.com
Mon Feb 1 13:13:11 UTC 2016
Mikael,
This looks good. It looks like vtable length fills an alignment gap in
the class.
Did you run the colocated nsk.sajdi.testlist on this? It's quarantined
but they all pass on linux x64.
Thanks,
Coleen
On 2/1/16 2:57 AM, Mikael Gerdin wrote:
> Hi, can I get another review, from a Reviewer, on this change?
>
> /Mikael
>
> On 2016-01-22 16:49, Mikael Gerdin wrote:
>> Hi all,
>>
>> Here's the second part of the set of changes to move most of the vtable
>> related code to Klass.
>>
>> This change consists of the following parts:
>> * Move the field _vtable_len to Klass, making its accessor nonvirtual.
>> -> Ensure that this does not result in any footprint regression by
>> moving TRACE_DEFINE_KLASS_TRACE_ID in Klass and _itable_len in
>> InstanceKlass to fill out alignment gaps.
>> -> Move vtable_length_offset to Klass. Move vtable_start_offset to
>> Klass to keep the code consistent. vtable_start_offset depends on the
>> size of InstanceKlass and must therefore be defined outside of
>> klass.hpp.
>>
>> * Update all locations to refer to Klass::vtable_{length,start}_offset
>> instead of InstanceKlass.
>>
>> * Modify SA to look for _vtable_len in Klass.
>>
>> * Rename CompilerToVM::Data::InstanceKlass_vtable_{length,start}_offset
>> and
>> jdk.vm.ci.hotspot.HotSpotVMConfig.instanceKlassVtable{Length,Start}Offset
>> to
>> properly represent where the offsets are coming from.
>>
>>
>> Webrev: http://cr.openjdk.java.net/~mgerdin/8148047/webrev.0/
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8148047
>>
>> Testing: JPRT on Oracle supported platforms.
>>
>> As in the previous change I've updated the PPC64 and AARCH64 ports but I
>> have not tested the changes. Build and test feedback from porters is
>> most welcome!
>>
>> Thanks
>> /Mikael
>
More information about the hotspot-dev
mailing list