JIT: fix conditional-continue=off

This commit is contained in:
Fiora 2014-09-08 00:28:56 -07:00
parent e8aa1fe052
commit 3855396422
2 changed files with 14 additions and 0 deletions

View File

@ -192,7 +192,11 @@ void Jit64::bcctrx(UGeckoInstruction inst)
SetJumpTarget(b);
if (!analyzer.HasOption(PPCAnalyst::PPCAnalyzer::OPTION_CONDITIONAL_CONTINUE))
{
gpr.Flush();
fpr.Flush();
WriteExit(js.compilerPC + 4);
}
}
}
@ -239,5 +243,9 @@ void Jit64::bclrx(UGeckoInstruction inst)
SetJumpTarget( pCTRDontBranch );
if (!analyzer.HasOption(PPCAnalyst::PPCAnalyzer::OPTION_CONDITIONAL_CONTINUE))
{
gpr.Flush();
fpr.Flush();
WriteExit(js.compilerPC + 4);
}
}

View File

@ -426,6 +426,8 @@ void Jit64::cmpXX(UGeckoInstruction inst)
{
if (!analyzer.HasOption(PPCAnalyst::PPCAnalyzer::OPTION_CONDITIONAL_CONTINUE))
{
gpr.Flush();
fpr.Flush();
WriteExit(js.next_compilerPC + 4);
}
}
@ -2030,5 +2032,9 @@ void Jit64::twx(UGeckoInstruction inst)
SetJumpTarget(dont_trap);
if (!analyzer.HasOption(PPCAnalyst::PPCAnalyzer::OPTION_CONDITIONAL_CONTINUE))
{
gpr.Flush();
fpr.Flush();
WriteExit(js.compilerPC + 4);
}
}