summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorcomex <comexk@gmail.com>2014-09-07 16:56:02 -0400
committercomex <comexk@gmail.com>2014-09-17 19:56:58 -0400
commitbd4e75e69a3bda520ab76f2e2618cc7eda723cee (patch)
tree17580f866a59b41bcff5fcccd1be939aa97e1eed /Source
parentb597ec3e081a289d9ac782586617a876535183d6 (diff)
Shorten the blr stub a bit.
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/Core/PowerPC/Jit64/Jit.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/Source/Core/Core/PowerPC/Jit64/Jit.cpp b/Source/Core/Core/PowerPC/Jit64/Jit.cpp
index b3625c6727..d928d02927 100644
--- a/Source/Core/Core/PowerPC/Jit64/Jit.cpp
+++ b/Source/Core/Core/PowerPC/Jit64/Jit.cpp
@@ -349,12 +349,10 @@ void Jit64::WriteBLRExit()
if (disturbed)
MOV(32, R(RSCRATCH), PPCSTATE(pc));
CMP(64, R(RSCRATCH), MDisp(RSP, 8));
- FixupBranch nope = J_CC(CC_NE);
- SUB(32, PPCSTATE(downcount), Imm32(js.downcountAmount));
- RET();
- SetJumpTarget(nope);
MOV(32, R(RSCRATCH), Imm32(js.downcountAmount));
- JMP(asm_routines.dispatcherMispredictedBLR, true);
+ J_CC(CC_NE, asm_routines.dispatcherMispredictedBLR);
+ SUB(32, PPCSTATE(downcount), R(RSCRATCH));
+ RET();
}
void Jit64::WriteRfiExitDestInRSCRATCH()