From 7f096c63ad955510689e5748c498e3e196ae3ddb Mon Sep 17 00:00:00 2001 From: sudonim1 Date: Sat, 25 Apr 2009 00:39:07 +0000 Subject: [PATCH] Break up very long recompiled blocks. Perform a branch test before jumping to the next block. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1058 96395faa-99c1-11dd-bbfe-3dabce05a288 --- pcsx2/x86/ix86-32/iR5900-32.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pcsx2/x86/ix86-32/iR5900-32.cpp b/pcsx2/x86/ix86-32/iR5900-32.cpp index 43ec86d7e2..36bbfb7bfc 100644 --- a/pcsx2/x86/ix86-32/iR5900-32.cpp +++ b/pcsx2/x86/ix86-32/iR5900-32.cpp @@ -1219,6 +1219,9 @@ void recompileNextInstruction(int delayslot) // _freeMMXregs(); // _flushCachedRegs(); // g_cpuHasConstReg = 1; + + if (!delayslot && x86Ptr - recPtr > 0x1000) + s_nEndBlock = pc; } extern u32 psxdump; @@ -1724,7 +1727,7 @@ StartRecomp: if( willbranch3 || !branch) { iFlushCall(FLUSH_EVERYTHING); - iBranch(pc, 0); + iBranchTest(pc); } }