From 7a097cb34aabc0ebaed7f1f07d2a8d2cae800086 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Fri, 10 May 2024 23:23:58 +0200 Subject: [PATCH] Shave a couple instructions in the common case --- Core/MIPS/IR/IRJit.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Core/MIPS/IR/IRJit.cpp b/Core/MIPS/IR/IRJit.cpp index 4de788a875..688f1dfed1 100644 --- a/Core/MIPS/IR/IRJit.cpp +++ b/Core/MIPS/IR/IRJit.cpp @@ -254,11 +254,10 @@ void IRJit::RunLoopUntil(u64 globalticks) { u32 opcode = inst & 0xFF000000; if (opcode == MIPS_EMUHACK_OPCODE) { IRBlock *block = blocks_.GetBlockUnchecked(inst & 0xFFFFFF); - u32 startPC = mips->pc; mips->pc = IRInterpret(mips, block->GetInstructions(), block->GetNumInstructions()); // Note: this will "jump to zero" on a badly constructed block missing exits. if (!Memory::IsValid4AlignedAddress(mips->pc)) { - Core_ExecException(mips->pc, startPC, ExecExceptionType::JUMP); + Core_ExecException(mips->pc, block->GetOriginalStart(), ExecExceptionType::JUMP); break; } } else {