diff --git a/ARMeilleure/Decoders/Block.cs b/ARMeilleure/Decoders/Block.cs index 9d380bca6..f296d299d 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 OpCodes { get; } diff --git a/ARMeilleure/Decoders/Optimizations/TailCallRemover.cs b/ARMeilleure/Decoders/Optimizations/TailCallRemover.cs index e64f9a54f..17c17812d 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; } }