diff --git a/src/backend_x64/emit_x64.cpp b/src/backend_x64/emit_x64.cpp index cbf5f488..46c0d720 100644 --- a/src/backend_x64/emit_x64.cpp +++ b/src/backend_x64/emit_x64.cpp @@ -430,6 +430,7 @@ void EmitX64::EmitTerminalInterpret(IR::Term::Interpret terminal, Arm::LocationD code->MOV(64, R(ABI_PARAM1), Imm64(terminal.next.arm_pc)); code->MOV(64, R(ABI_PARAM2), Imm64(reinterpret_cast(jit_interface))); code->MOV(32, MJitStateReg(Arm::Reg::PC), R(ABI_PARAM1)); + code->MOV(64, R(RSP), MDisp(R15, offsetof(JitState, save_host_RSP))); code->CALL(reinterpret_cast(cb.InterpreterFallback)); code->JMP(routines->RunCodeReturnAddress(), true); // TODO: Check cycles }