diff options
Diffstat (limited to 'ARMeilleure/Decoders')
| -rw-r--r-- | ARMeilleure/Decoders/Block.cs | 3 | ||||
| -rw-r--r-- | ARMeilleure/Decoders/Optimizations/TailCallRemover.cs | 5 |
2 files changed, 3 insertions, 5 deletions
diff --git a/ARMeilleure/Decoders/Block.cs b/ARMeilleure/Decoders/Block.cs index 9d380bca..f296d299 100644 --- a/ARMeilleure/Decoders/Block.cs +++ b/ARMeilleure/Decoders/Block.cs @@ -11,8 +11,7 @@ namespace ARMeilleure.Decoders public Block Next { get; set; } public Block Branch { get; set; } - public bool TailCall { get; set; } - public bool Exit { get; set; } + public bool Exit { get; set; } public List<OpCode> OpCodes { get; } diff --git a/ARMeilleure/Decoders/Optimizations/TailCallRemover.cs b/ARMeilleure/Decoders/Optimizations/TailCallRemover.cs index e64f9a54..17c17812 100644 --- a/ARMeilleure/Decoders/Optimizations/TailCallRemover.cs +++ b/ARMeilleure/Decoders/Optimizations/TailCallRemover.cs @@ -58,15 +58,14 @@ namespace ARMeilleure.Decoders.Optimizations return blocks.ToArray(); // Nothing to do here. } - // Mark branches outside of contiguous region as exit blocks. + // Mark branches whose target is outside of the contiguous region as an exit block. for (int i = startBlockIndex; i <= endBlockIndex; i++) { Block block = blocks[i]; if (block.Branch != null && (block.Branch.Address > endBlock.EndAddress || block.Branch.EndAddress < startBlock.Address)) { - block.Branch.Exit = true; - block.Branch.TailCall = true; + block.Branch.Exit = true; } } |
