Added the corresponding change from r9e649ce79850 to JITIL.

This commit is contained in:
skidau 2012-03-03 15:41:55 +11:00
parent 9e649ce798
commit 874e17e504
2 changed files with 6 additions and 6 deletions

View File

@ -580,16 +580,13 @@ const u8* Jit64::DoJit(u32 em_address, PPCAnalyst::CodeBuffer *code_buf, JitBloc
FixupBranch noExtException = J_CC(CC_Z); FixupBranch noExtException = J_CC(CC_Z);
TEST(32, M((void *)&ProcessorInterface::m_InterruptCause), Imm32(ProcessorInterface::INT_CAUSE_CP)); TEST(32, M((void *)&ProcessorInterface::m_InterruptCause), Imm32(ProcessorInterface::INT_CAUSE_CP));
FixupBranch noCPInt = J_CC(CC_Z); FixupBranch noCPInt = J_CC(CC_Z);
TEST(32, M((void *)&ProcessorInterface::m_InterruptCause), TEST(32, M((void *)&ProcessorInterface::m_InterruptCause), Imm32(ProcessorInterface::INT_CAUSE_DSP));
Imm32(ProcessorInterface::INT_CAUSE_PE_TOKEN | FixupBranch clearInt = J_CC(CC_NZ);
ProcessorInterface::INT_CAUSE_PE_FINISH |
ProcessorInterface::INT_CAUSE_DSP));
FixupBranch ClearInt = J_CC(CC_NZ);
MOV(32, M(&PC), Imm32(ops[i].address)); MOV(32, M(&PC), Imm32(ops[i].address));
WriteExceptionExit(); WriteExceptionExit();
SetJumpTarget(ClearInt); SetJumpTarget(clearInt);
SetJumpTarget(noCPInt); SetJumpTarget(noCPInt);
SetJumpTarget(noExtException); SetJumpTarget(noExtException);
} }

View File

@ -1929,10 +1929,13 @@ static void DoWriteCode(IRBuilder* ibuild, JitIL* Jit, bool UseProfile, bool Mak
FixupBranch noExtException = Jit->J_CC(CC_Z); FixupBranch noExtException = Jit->J_CC(CC_Z);
Jit->TEST(32, M((void *)&ProcessorInterface::m_InterruptCause), Imm32(ProcessorInterface::INT_CAUSE_CP)); Jit->TEST(32, M((void *)&ProcessorInterface::m_InterruptCause), Imm32(ProcessorInterface::INT_CAUSE_CP));
FixupBranch noCPInt = Jit->J_CC(CC_Z); FixupBranch noCPInt = Jit->J_CC(CC_Z);
Jit->TEST(32, M((void *)&ProcessorInterface::m_InterruptCause), Imm32(ProcessorInterface::INT_CAUSE_DSP));
FixupBranch clearInt = Jit->J_CC(CC_NZ);
Jit->MOV(32, M(&PC), Imm32(InstLoc)); Jit->MOV(32, M(&PC), Imm32(InstLoc));
Jit->WriteExceptionExit(); Jit->WriteExceptionExit();
Jit->SetJumpTarget(clearInt);
Jit->SetJumpTarget(noCPInt); Jit->SetJumpTarget(noCPInt);
Jit->SetJumpTarget(noExtException); Jit->SetJumpTarget(noExtException);
break; break;