ryujinx/ARMeilleure/Translation
Ficture Seven 2421186d97
Generalize tail continues (#1298)
* Generalize tail continues

* Fix DecodeBasicBlock

`Next` and `Branch` would be null, which is not the state expected by
the branch instructions. They end up branching or falling into a block
which is never populated by the `Translator`. This causes an assert to
be fired when building the CFG.

* Clean up Decode overloads

* Do not synchronize when branching into exit block

If we're branching into an exit block, that exit block will tail
continue into another translation which already has a synchronization.

* Remove A32 predicate tail continue

If `block` is not an exit block then the `block.Next` must exist (as
per the last instruction of `block`).

* Throw if decoded 0 blocks

Address gdkchan's feedback

* Rebuild block list instead of setting to null

Address gdkchan's feedback
2020-06-18 13:37:21 +10:00
..
PTC
ArmEmitterContext.cs
Compiler.cs
CompilerContext.cs
CompilerOptions.cs
ControlFlowGraph.cs
DelegateHelper.cs
DelegateInfo.cs
Delegates.cs
DirectCallStubs.cs
Dominance.cs
EmitterContext.cs
GuestFunction.cs
JitCache.cs
JitCacheEntry.cs
JitUnwindWindows.cs
JumpTable.cs
RegisterToLocal.cs
RegisterUsage.cs
RejitRequest.cs
SsaConstruction.cs
SsaDeconstruction.cs
TranslatedFunction.cs
Translator.cs Generalize tail continues (#1298) 2020-06-18 13:37:21 +10:00