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

View File

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