< prev index next >

src/cpu/ppc/vm/ppc.ad

Print this page

        

*** 3633,3644 **** // checked for non-null. If we'll go thru a C2I adapter, the // interpreter expects method in R19_method. __ load_klass(R11_scratch1, R3); ! int entry_offset = InstanceKlass::vtable_start_offset() + _vtable_index * vtableEntry::size(); ! int v_off = entry_offset * wordSize + vtableEntry::method_offset_in_bytes(); __ li(R19_method, v_off); __ ldx(R19_method/*method oop*/, R19_method/*method offset*/, R11_scratch1/*class*/); // NOTE: for vtable dispatches, the vtable entry will never be // null. However it may very well end up in handle_wrong_method // if the method is abstract for the particular class. --- 3633,3644 ---- // checked for non-null. If we'll go thru a C2I adapter, the // interpreter expects method in R19_method. __ load_klass(R11_scratch1, R3); ! int entry_offset = in_bytes(InstanceKlass::vtable_start_offset()) + _vtable_index * vtableEntry::size_in_bytes(); ! int v_off = entry_offset + vtableEntry::method_offset_in_bytes(); __ li(R19_method, v_off); __ ldx(R19_method/*method oop*/, R19_method/*method offset*/, R11_scratch1/*class*/); // NOTE: for vtable dispatches, the vtable entry will never be // null. However it may very well end up in handle_wrong_method // if the method is abstract for the particular class.
< prev index next >