src/cpu/x86/vm/templateInterpreter_x86_64.cpp

changeset 8877
f04097176542
parent 8368
32b682649973
child 9041
95a08233f46c
child 9669
32bc598624bd
equal deleted inserted replaced
8876:8a9294fa59d6 8877:f04097176542
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?

mercurial