RFR(M) 8148047: Move the vtable length field to Klass

Mikael Gerdin mikael.gerdin at oracle.com
Mon Feb 1 07:57:29 UTC 2016


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