forked from Mirror/Ryujinx
2421186d97
* 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 |
||
---|---|---|
.. | ||
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 |