diff --git a/src/backend_x64/emit_x64.cpp b/src/backend_x64/emit_x64.cpp index f2479b91..d3c8b9b5 100644 --- a/src/backend_x64/emit_x64.cpp +++ b/src/backend_x64/emit_x64.cpp @@ -351,6 +351,7 @@ void EmitX64::EmitPushRSB(IR::Block&, IR::Inst* inst) { : u64(code->GetReturnFromRunCodeAddress()); code->MOV(32, R(index_reg), MDisp(R15, offsetof(JitState, rsb_ptr))); + code->ADD(32, R(index_reg), Imm8(1)); code->AND(32, R(index_reg), Imm32(JitState::RSBSize - 1)); code->MOV(64, R(loc_desc_reg), Imm64(imm64));