RFR(M) 8148047: Move the vtable length field to Klass
    Mikael Gerdin 
    mikael.gerdin at oracle.com
       
    Fri Jan 22 15:49:11 UTC 2016
    
    
  
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