mirror of https://github.com/PCSX2/pcsx2.git
iR5900 Recompiler: Emulate exception handler cycles on syscall skip
This commit is contained in:
parent
b36e2eb5f4
commit
8dd866a35e
|
@ -744,7 +744,12 @@ void R5900::Dynarec::OpcodeImpl::recSYSCALL()
|
||||||
{
|
{
|
||||||
// If it's FlushCache or iFlushCache, we can skip it since we don't support cache in the JIT.
|
// If it's FlushCache or iFlushCache, we can skip it since we don't support cache in the JIT.
|
||||||
if (g_cpuConstRegs[3].UC[0] == 0x64 || g_cpuConstRegs[3].UC[0] == 0x68)
|
if (g_cpuConstRegs[3].UC[0] == 0x64 || g_cpuConstRegs[3].UC[0] == 0x68)
|
||||||
|
{
|
||||||
|
// Emulate the amount of cycles it takes for the exception handlers to run
|
||||||
|
// This number was found by using github.com/F0bes/flushcache-cycles
|
||||||
|
s_nBlockCycles += 5650;
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
recCall(R5900::Interpreter::OpcodeImpl::SYSCALL);
|
recCall(R5900::Interpreter::OpcodeImpl::SYSCALL);
|
||||||
g_branch = 2; // Indirect branch with event check.
|
g_branch = 2; // Indirect branch with event check.
|
||||||
|
|
Loading…
Reference in New Issue