diff --git a/Source/Core/Core/Src/PowerPC/Jit64IL/IR_X86.cpp b/Source/Core/Core/Src/PowerPC/Jit64IL/IR_X86.cpp index 0df155758f..e91291fa90 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64IL/IR_X86.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64IL/IR_X86.cpp @@ -1388,7 +1388,7 @@ static void DoWriteCode(IRBuilder* ibuild, JitIL* Jit, bool UseProfile, bool Mak Jit->MOV(32, R(ECX), regLocForInst(RI, getOp2(I))); RI.Jit->UnsafeWriteRegToReg(EAX, ECX, 32, 0); } - FixupBranch exit = Jit->J(); + FixupBranch exit = Jit->J(true); Jit->SetJumpTarget(safe); // Safe but slow routine OpArg value = fregLocForInst(RI, getOp1(I)); diff --git a/Source/Core/Core/Src/PowerPC/PPCAnalyst.cpp b/Source/Core/Core/Src/PowerPC/PPCAnalyst.cpp index 433192b23f..ddfec1c328 100644 --- a/Source/Core/Core/Src/PowerPC/PPCAnalyst.cpp +++ b/Source/Core/Core/Src/PowerPC/PPCAnalyst.cpp @@ -559,9 +559,7 @@ u32 Flatten(u32 address, int *realsize, BlockStats *st, BlockRegStats *gpa, } else { - // Critical memory exception occurred (game over) - address = LR; - broken_block = true; + // ISI exception or other critical memory exception occurred (game over) break; } }