Fix the return value of PPCAnalyst.
In situations where conditional continue isn't supported + if a JIT doesn't implement a instruction that has the FL_ENDBLOCK flag. This would cause an infinite loop. In reality all the JITs should implement every FL_ENDBLOCK instruction regardless, but JITIL doesn't implement tw/twi which are FL_ENDBLOCK instructions.
This commit is contained in:
parent
581c81ce1c
commit
b8d4834cb1
|
@ -676,12 +676,12 @@ u32 PPCAnalyzer::Analyze(u32 address, CodeBlock *block, CodeBuffer *buffer, u32
|
||||||
|
|
||||||
if (!follow)
|
if (!follow)
|
||||||
{
|
{
|
||||||
|
address += 4;
|
||||||
if (!conditional_continue && opinfo->flags & FL_ENDBLOCK) //right now we stop early
|
if (!conditional_continue && opinfo->flags & FL_ENDBLOCK) //right now we stop early
|
||||||
{
|
{
|
||||||
found_exit = true;
|
found_exit = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
address += 4;
|
|
||||||
}
|
}
|
||||||
// XXX: We don't support inlining yet.
|
// XXX: We don't support inlining yet.
|
||||||
#if 0
|
#if 0
|
||||||
|
|
Loading…
Reference in New Issue