Permalink
Browse files

Jit_Integer: DoMergedBranchCondition

  • Loading branch information...
MerryMage committed Oct 15, 2018
1 parent 0d3393b commit 256e23494906ceac4d6919be248731e4a8816e17
Showing with 10 additions and 5 deletions.
  1. +10 −5 Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp
@@ -448,8 +448,8 @@ void Jit64::DoMergedBranchCondition()
bool condition = !!(next.BO & BO_BRANCH_IF_TRUE);
const u32 nextPC = js.op[1].address;

gpr.UnlockAll();
gpr.UnlockAllX();
ASSERT(gpr.IsAllUnlocked());

FixupBranch pDontBranch;
if (test_bit & 8)
pDontBranch = J_CC(condition ? CC_GE : CC_L, true); // Test < 0, so jump over if >= 0.
@@ -460,10 +460,15 @@ void Jit64::DoMergedBranchCondition()
else // SO bit, do not branch (we don't emulate SO for cmp).
pDontBranch = J(true);

gpr.Flush(RegCache::FlushMode::MaintainState);
fpr.Flush(RegCache::FlushMode::MaintainState);
{
RCForkGuard gpr_guard = gpr.Fork();
RCForkGuard fpr_guard = fpr.Fork();

gpr.Flush();
fpr.Flush();

DoMergedBranch();
DoMergedBranch();
}

SetJumpTarget(pDontBranch);

0 comments on commit 256e234

Please sign in to comment.