From 3556069f9f32d187d91a67c86daa6bbcaf16e972 Mon Sep 17 00:00:00 2001 From: Shawn Hoffman Date: Sun, 9 Oct 2011 03:41:31 -0700 Subject: [PATCH] Also allow JitIL to update EXI exceptions much more frequently. At this point, the mic branch is ready for testing by windows people at least. cmake/scons may work already, not sure. --- Source/Core/Core/Src/PowerPC/Jit64IL/JitILAsm.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/Source/Core/Core/Src/PowerPC/Jit64IL/JitILAsm.cpp b/Source/Core/Core/Src/PowerPC/Jit64IL/JitILAsm.cpp index adf215135d..da94c881e3 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64IL/JitILAsm.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64IL/JitILAsm.cpp @@ -210,14 +210,11 @@ void JitILAsmRoutineManager::Generate() ABI_CallFunction(reinterpret_cast(&CoreTiming::Advance)); testExceptions = GetCodePtr(); - TEST(32, M((void *)&PowerPC::ppcState.Exceptions), Imm32(0xFFFFFFFF)); - FixupBranch skipExceptions = J_CC(CC_Z); - MOV(32, R(EAX), M(&PC)); - MOV(32, M(&NPC), R(EAX)); - ABI_CallFunction(reinterpret_cast(&PowerPC::CheckExceptions)); - MOV(32, R(EAX), M(&NPC)); - MOV(32, M(&PC), R(EAX)); - SetJumpTarget(skipExceptions); + MOV(32, R(EAX), M(&PC)); + MOV(32, M(&NPC), R(EAX)); + ABI_CallFunction(reinterpret_cast(&PowerPC::CheckExceptions)); + MOV(32, R(EAX), M(&NPC)); + MOV(32, M(&PC), R(EAX)); TEST(32, M((void*)PowerPC::GetStatePtr()), Imm32(0xFFFFFFFF)); J_CC(CC_Z, outerLoop, true);