hotspot/src/cpu/ppc/vm/ppc.ad
changeset 35913 928548a43408
parent 35594 cc13089c6327
parent 35899 0dbc821628fc
child 36303 6241574f5982
equal deleted inserted replaced
35607:d73b0b6a24e6 35913:928548a43408
  3566       // checked for non-null. If we'll go thru a C2I adapter, the
  3566       // checked for non-null. If we'll go thru a C2I adapter, the
  3567       // interpreter expects method in R19_method.
  3567       // interpreter expects method in R19_method.
  3568 
  3568 
  3569       __ load_klass(R11_scratch1, R3);
  3569       __ load_klass(R11_scratch1, R3);
  3570 
  3570 
  3571       int entry_offset = InstanceKlass::vtable_start_offset() + _vtable_index * vtableEntry::size();
  3571       int entry_offset = in_bytes(Klass::vtable_start_offset()) + _vtable_index * vtableEntry::size_in_bytes();
  3572       int v_off = entry_offset * wordSize + vtableEntry::method_offset_in_bytes();
  3572       int v_off = entry_offset + vtableEntry::method_offset_in_bytes();
  3573       __ li(R19_method, v_off);
  3573       __ li(R19_method, v_off);
  3574       __ ldx(R19_method/*method oop*/, R19_method/*method offset*/, R11_scratch1/*class*/);
  3574       __ ldx(R19_method/*method oop*/, R19_method/*method offset*/, R11_scratch1/*class*/);
  3575       // NOTE: for vtable dispatches, the vtable entry will never be
  3575       // NOTE: for vtable dispatches, the vtable entry will never be
  3576       // null. However it may very well end up in handle_wrong_method
  3576       // null. However it may very well end up in handle_wrong_method
  3577       // if the method is abstract for the particular class.
  3577       // if the method is abstract for the particular class.