< prev index next >

src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp

Print this page

        

*** 823,832 **** --- 823,834 ---- __ movptr(Address(r15_thread, in_bytes(JavaThread::jvmci_alternate_call_target_offset())), 0); __ bind(no_alternative_target); } #endif // INCLUDE_JVMCI + __ set_cont_fastpath(r15_thread, 0); + // Now generate the shuffle code. Pick up all register args and move the // rest through the floating point stack top. for (int i = 0; i < total_args_passed; i++) { if (sig_bt[i] == T_VOID) { // Longs and doubles are passed in native word order, but misaligned
*** 3478,3488 **** // The following is basically a call_VM. However, we need the precise // address of the call in order to generate an oopmap. Hence, we do all the // work outselves. ! __ set_last_Java_frame(noreg, noreg, NULL); // The return address must always be correct so that frame constructor never // sees an invalid pc. if (!cause_return) { --- 3480,3490 ---- // The following is basically a call_VM. However, we need the precise // address of the call in order to generate an oopmap. Hence, we do all the // work outselves. ! __ set_last_Java_frame(noreg, noreg, NULL); // JavaFrameAnchor::capture_last_Java_pc() will get the pc from the return address, which we store next: // The return address must always be correct so that frame constructor never // sees an invalid pc. if (!cause_return) {
*** 3625,3634 **** --- 3627,3638 ---- int start = __ offset(); map = RegisterSaver::save_live_registers(masm, 0, &frame_size_in_words); + // __ stop_if_in_cont(r10, "CONT 3"); + int frame_complete = __ offset(); __ set_last_Java_frame(noreg, noreg, NULL); __ mov(c_rarg0, r15_thread);
< prev index next >