diff --git a/Core/MIPS/x86/CompBranch.cpp b/Core/MIPS/x86/CompBranch.cpp index f154f2cea..bec696f0c 100644 --- a/Core/MIPS/x86/CompBranch.cpp +++ b/Core/MIPS/x86/CompBranch.cpp @@ -154,7 +154,6 @@ void Jit::BranchRSRTComp(u32 op, Gen::CCFlags cc, bool likely) } FlushAll(); - js.inDelaySlot = true; Gen::FixupBranch ptr; if (!likely) { @@ -166,7 +165,6 @@ void Jit::BranchRSRTComp(u32 op, Gen::CCFlags cc, bool likely) ptr = J_CC(cc, true); CompileDelaySlot(false); } - js.inDelaySlot = false; // Take the branch CONDITIONAL_LOG_EXIT(targetAddr); @@ -205,7 +203,6 @@ void Jit::BranchRSZeroComp(u32 op, Gen::CCFlags cc, bool likely) FlushAll(); Gen::FixupBranch ptr; - js.inDelaySlot = true; if (!likely) { CompileDelaySlot(!delaySlotIsNice); @@ -216,7 +213,6 @@ void Jit::BranchRSZeroComp(u32 op, Gen::CCFlags cc, bool likely) ptr = J_CC(cc, true); CompileDelaySlot(false); } - js.inDelaySlot = false; // Take the branch CONDITIONAL_LOG_EXIT(targetAddr); @@ -295,7 +291,6 @@ void Jit::BranchFPFlag(u32 op, Gen::CCFlags cc, bool likely) TEST(32, M((void *)&(mips_->fpcond)), Imm32(1)); Gen::FixupBranch ptr; - js.inDelaySlot = true; if (!likely) { CompileDelaySlot(!delaySlotIsNice); @@ -306,7 +301,6 @@ void Jit::BranchFPFlag(u32 op, Gen::CCFlags cc, bool likely) ptr = J_CC(cc, true); CompileDelaySlot(false); } - js.inDelaySlot = false; // Take the branch CONDITIONAL_LOG_EXIT(targetAddr); @@ -365,7 +359,6 @@ void Jit::BranchVFPUFlag(u32 op, Gen::CCFlags cc, bool likely) //int val = (mips_->vfpuCtrl[VFPU_CTRL_CC] >> imm3) & 1; TEST(32, M((void *)&(mips_->vfpuCtrl[VFPU_CTRL_CC])), Imm32(1 << imm3)); Gen::FixupBranch ptr; - js.inDelaySlot = true; if (!likely) { CompileDelaySlot(!delaySlotIsNice); @@ -376,7 +369,6 @@ void Jit::BranchVFPUFlag(u32 op, Gen::CCFlags cc, bool likely) ptr = J_CC(cc, true); CompileDelaySlot(false); } - js.inDelaySlot = false; // Take the branch CONDITIONAL_LOG_EXIT(targetAddr); diff --git a/Core/MIPS/x86/Jit.cpp b/Core/MIPS/x86/Jit.cpp index 55e106c5f..8ed93a915 100644 --- a/Core/MIPS/x86/Jit.cpp +++ b/Core/MIPS/x86/Jit.cpp @@ -133,8 +133,10 @@ void Jit::CompileDelaySlot(bool saveFlags) if (saveFlags) SAVE_FLAGS; // preserve flag around the delay slot! + js.inDelaySlot = true; u32 op = Memory::Read_Instruction(addr); MIPSCompileOp(op); + js.inDelaySlot = false; FlushAll(); if (saveFlags)