< prev index next >

src/cpu/ppc/vm/templateTable_ppc_64.cpp

Print this page

        

*** 3280,3290 **** assert_different_registers(Rrecv_klass, Rtemp, Rret); const Register Rtarget_method = Rindex; // Get target method & entry point. ! const int base = in_bytes(InstanceKlass::vtable_start_offset()); // Calc vtable addr scale the vtable index by 8. __ sldi(Rindex, Rindex, exact_log2(vtableEntry::size_in_bytes())); // Load target. __ addi(Rrecv_klass, Rrecv_klass, base + vtableEntry::method_offset_in_bytes()); __ ldx(Rtarget_method, Rindex, Rrecv_klass); --- 3280,3290 ---- assert_different_registers(Rrecv_klass, Rtemp, Rret); const Register Rtarget_method = Rindex; // Get target method & entry point. ! const int base = in_bytes(Klass::vtable_start_offset()); // Calc vtable addr scale the vtable index by 8. __ sldi(Rindex, Rindex, exact_log2(vtableEntry::size_in_bytes())); // Load target. __ addi(Rrecv_klass, Rrecv_klass, base + vtableEntry::method_offset_in_bytes()); __ ldx(Rtarget_method, Rindex, Rrecv_klass);
< prev index next >