src/cpu/mips/vm/sharedRuntime_mips_64.cpp

changeset 410
63bcd8487c2a
parent 386
f50649f9eda6
child 6880
52ea28d233d2
equal deleted inserted replaced
409:674542ea38ff 410:63bcd8487c2a
1862 if (member_reg != noreg) { 1862 if (member_reg != noreg) {
1863 // Load the member_arg into register, if necessary. 1863 // Load the member_arg into register, if necessary.
1864 SharedRuntime::check_member_name_argument_is_last_argument(method, sig_bt, regs); 1864 SharedRuntime::check_member_name_argument_is_last_argument(method, sig_bt, regs);
1865 VMReg r = regs[member_arg_pos].first(); 1865 VMReg r = regs[member_arg_pos].first();
1866 if (r->is_stack()) { 1866 if (r->is_stack()) {
1867 // __ movptr(member_reg, Address(rsp, r->reg2stack() * VMRegImpl::stack_slot_size + wordSize)); 1867 __ ld(member_reg, Address(SP, r->reg2stack() * VMRegImpl::stack_slot_size));
1868 __ ld(member_reg, Address(SP, r->reg2stack() * VMRegImpl::stack_slot_size + wordSize));
1869 } else { 1868 } else {
1870 // no data motion is needed 1869 // no data motion is needed
1871 member_reg = r->as_Register(); 1870 member_reg = r->as_Register();
1872 } 1871 }
1873 } 1872 }
1883 // pass the receiver oop in a register. If this is not true on some 1882 // pass the receiver oop in a register. If this is not true on some
1884 // platform, pick a temp and load the receiver from stack. 1883 // platform, pick a temp and load the receiver from stack.
1885 fatal("receiver always in a register"); 1884 fatal("receiver always in a register");
1886 // receiver_reg = j_rarg0; // known to be free at this point 1885 // receiver_reg = j_rarg0; // known to be free at this point
1887 receiver_reg = SSR; // known to be free at this point 1886 receiver_reg = SSR; // known to be free at this point
1888 // __ movptr(receiver_reg, Address(rsp, r->reg2stack() * VMRegImpl::stack_slot_size + wordSize)); 1887 __ ld(receiver_reg, Address(SP, r->reg2stack() * VMRegImpl::stack_slot_size));
1889 __ ld(receiver_reg, Address(SP, r->reg2stack() * VMRegImpl::stack_slot_size + wordSize));
1890 } else { 1888 } else {
1891 // no data motion is needed 1889 // no data motion is needed
1892 receiver_reg = r->as_Register(); 1890 receiver_reg = r->as_Register();
1893 } 1891 }
1894 } 1892 }

mercurial