diff --git a/Core/MIPS/ARM/ArmJit.cpp b/Core/MIPS/ARM/ArmJit.cpp index b47af4cf7c..219c3c7147 100644 --- a/Core/MIPS/ARM/ArmJit.cpp +++ b/Core/MIPS/ARM/ArmJit.cpp @@ -388,7 +388,6 @@ bool Jit::ReplaceJalTo(u32 dest) { BL(R0); } WriteDownCountR(R0); - js.downcountAmount = 0; // we just subtracted most of it } js.compilerPC += 4; @@ -428,7 +427,7 @@ void Jit::Comp_ReplacementFunc(MIPSOpcode op) FlushAll(); // Flushed, so R1 is safe. LDR(R1, CTXREG, MIPS_REG_RA * 4); - js.downcountAmount = cycles; + js.downcountAmount += cycles; WriteExitDestInR(R1); js.compiling = false; } @@ -452,7 +451,6 @@ void Jit::Comp_ReplacementFunc(MIPSOpcode op) } else { LDR(R1, CTXREG, MIPS_REG_RA * 4); WriteDownCountR(R0); - js.downcountAmount = 0; // we just subtracted most of it WriteExitDestInR(R1); js.compiling = false; } diff --git a/Core/MIPS/x86/Jit.cpp b/Core/MIPS/x86/Jit.cpp index d9d92ee32f..74cfd97a6a 100644 --- a/Core/MIPS/x86/Jit.cpp +++ b/Core/MIPS/x86/Jit.cpp @@ -444,7 +444,6 @@ bool Jit::ReplaceJalTo(u32 dest) { MOV(32, M(&mips_->pc), Imm32(js.compilerPC)); ABI_CallFunction(entry->replaceFunc); SUB(32, M(¤tMIPS->downcount), R(EAX)); - js.downcountAmount = 0; // we just subtracted most of it } js.compilerPC += 4; @@ -483,7 +482,7 @@ void Jit::Comp_ReplacementFunc(MIPSOpcode op) } else { FlushAll(); MOV(32, R(ECX), M(¤tMIPS->r[MIPS_REG_RA])); - js.downcountAmount = cycles; + js.downcountAmount += cycles; WriteExitDestInReg(ECX); js.compiling = false; } @@ -501,7 +500,6 @@ void Jit::Comp_ReplacementFunc(MIPSOpcode op) } else { MOV(32, R(ECX), M(¤tMIPS->r[MIPS_REG_RA])); SUB(32, M(¤tMIPS->downcount), R(EAX)); - js.downcountAmount = 0; // we just subtracted most of it WriteExitDestInReg(ECX); js.compiling = false; }