From 93a901dd1de7f95b1ddb0cb059b23863e4841d06 Mon Sep 17 00:00:00 2001 From: skidau Date: Sun, 28 Nov 2010 12:28:03 +0000 Subject: [PATCH] LLE JIT: Speed up the dispatcher by removing one of the cycle checks. This results in the DSP executing cycles slightly above what it is supposed to. This is not a problem currently but might be later on. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6489 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/Core/DSPCore/Src/DSPEmitter.cpp | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/Source/Core/DSPCore/Src/DSPEmitter.cpp b/Source/Core/DSPCore/Src/DSPEmitter.cpp index 113d3aea0e..ec41305f9e 100644 --- a/Source/Core/DSPCore/Src/DSPEmitter.cpp +++ b/Source/Core/DSPCore/Src/DSPEmitter.cpp @@ -326,12 +326,9 @@ void DSPEmitter::CompileDispatcher() // Compile block if needed FixupBranch found = J_CC(CC_NE); CALL((void *)CompileCurrent); + MOVZX(32, 16, ECX, M(&g_dsp.pc)); SetJumpTarget(found); - // Check if we have enough cycles to execute - CMP(32, R(ESI), R(EAX)); - FixupBranch noCycles = J_CC(CC_B); - // Execute block. Cycles executed returned in EAX. #ifdef _M_IX86 CALLptr(MComplex(EBX, ECX, SCALE_4, 0)); @@ -344,12 +341,6 @@ void DSPEmitter::CompileDispatcher() J_CC(CC_A, dispatcherLoop); - // Not enough cycles. - SetJumpTarget(noCycles); - //MOV(32, M(&cyclesLeft), R(ESI)); - //ABI_PopAllCalleeSavedRegsAndAdjustStack(); - //RET(); - // DSP gave up the remaining cycles. SetJumpTarget(halt); //MOV(32, M(&cyclesLeft), Imm32(0));