JitIL: Omitted extra SUBs when js.downcountAmount == 0. (Though it is not very often.)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6117 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
nodchip 2010-08-22 08:38:56 +00:00
parent 43dc70eace
commit e740c4caa8

View File

@ -294,6 +294,7 @@ void JitIL::Cleanup()
void JitIL::WriteExit(u32 destination, int exit_num)
{
Cleanup();
if (js.downcountAmount)
SUB(32, M(&CoreTiming::downcount), js.downcountAmount > 127 ? Imm32(js.downcountAmount) : Imm8(js.downcountAmount));
//If nobody has taken care of this yet (this can be removed when all branches are done)
@ -320,6 +321,7 @@ void JitIL::WriteExitDestInOpArg(const Gen::OpArg& arg, int exit_num)
{
MOV(32, M(&PC), arg);
Cleanup();
if (js.downcountAmount)
SUB(32, M(&CoreTiming::downcount), js.downcountAmount > 127 ? Imm32(js.downcountAmount) : Imm8(js.downcountAmount));
JMP(asm_routines.dispatcher, true);
}
@ -328,6 +330,7 @@ void JitIL::WriteRfiExitDestInOpArg(const Gen::OpArg& arg)
{
MOV(32, M(&PC), arg);
Cleanup();
if (js.downcountAmount)
SUB(32, M(&CoreTiming::downcount), js.downcountAmount > 127 ? Imm32(js.downcountAmount) : Imm8(js.downcountAmount));
JMP(asm_routines.testExceptions, true);
}
@ -335,6 +338,7 @@ void JitIL::WriteRfiExitDestInOpArg(const Gen::OpArg& arg)
void JitIL::WriteExceptionExit()
{
Cleanup();
if (js.downcountAmount)
SUB(32, M(&CoreTiming::downcount), js.downcountAmount > 127 ? Imm32(js.downcountAmount) : Imm8(js.downcountAmount));
JMP(asm_routines.testExceptions, true);
}