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 } |