1260 |
1260 |
1261 // change thread state |
1261 // change thread state |
1262 __ movl(Address(r15_thread, JavaThread::thread_state_offset()), _thread_in_Java); |
1262 __ movl(Address(r15_thread, JavaThread::thread_state_offset()), _thread_in_Java); |
1263 |
1263 |
1264 // reset_last_Java_frame |
1264 // reset_last_Java_frame |
1265 __ reset_last_Java_frame(true, true); |
1265 __ reset_last_Java_frame(r15_thread, true); |
1266 |
1266 |
1267 // reset handle block |
1267 // reset handle block |
1268 __ movptr(t, Address(r15_thread, JavaThread::active_handles_offset())); |
1268 __ movptr(t, Address(r15_thread, JavaThread::active_handles_offset())); |
1269 __ movl(Address(t, JNIHandleBlock::top_offset_in_bytes()), (int32_t)NULL_WORD); |
1269 __ movl(Address(t, JNIHandleBlock::top_offset_in_bytes()), (int32_t)NULL_WORD); |
1270 |
1270 |
1835 __ mov(c_rarg1, rsp); |
1835 __ mov(c_rarg1, rsp); |
1836 __ movptr(c_rarg2, Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize)); |
1836 __ movptr(c_rarg2, Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize)); |
1837 // PC must point into interpreter here |
1837 // PC must point into interpreter here |
1838 __ set_last_Java_frame(noreg, rbp, __ pc()); |
1838 __ set_last_Java_frame(noreg, rbp, __ pc()); |
1839 __ super_call_VM_leaf(CAST_FROM_FN_PTR(address, InterpreterRuntime::popframe_move_outgoing_args), r15_thread, c_rarg1, c_rarg2); |
1839 __ super_call_VM_leaf(CAST_FROM_FN_PTR(address, InterpreterRuntime::popframe_move_outgoing_args), r15_thread, c_rarg1, c_rarg2); |
1840 __ reset_last_Java_frame(true, true); |
1840 __ reset_last_Java_frame(r15_thread, true); |
1841 // Restore the last_sp and null it out |
1841 // Restore the last_sp and null it out |
1842 __ movptr(rsp, Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize)); |
1842 __ movptr(rsp, Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize)); |
1843 __ movptr(Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize), (int32_t)NULL_WORD); |
1843 __ movptr(Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize), (int32_t)NULL_WORD); |
1844 |
1844 |
1845 __ restore_bcp(); // XXX do we need this? |
1845 __ restore_bcp(); // XXX do we need this? |