diff options
| author | Shawn Hoffman <godisgovernment@gmail.com> | 2011-10-09 03:41:31 -0700 |
|---|---|---|
| committer | Shawn Hoffman <godisgovernment@gmail.com> | 2011-10-09 03:41:31 -0700 |
| commit | 3556069f9f32d187d91a67c86daa6bbcaf16e972 (patch) | |
| tree | 338cf2abfc4c78536a2b1725b48625f8d75d8deb /Source/Core | |
| parent | 41424d98e8ccd089411d844b38c8eb9b56e43adb (diff) | |
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.
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Core/Src/PowerPC/Jit64IL/JitILAsm.cpp | 13 |
1 files 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<void *>(&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<void *>(&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<void *>(&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); |
