diff options
Diffstat (limited to 'src/Ryujinx.Cpu/LightningJit/Arm32/MultiBlock.cs')
-rw-r--r-- | src/Ryujinx.Cpu/LightningJit/Arm32/MultiBlock.cs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/Ryujinx.Cpu/LightningJit/Arm32/MultiBlock.cs b/src/Ryujinx.Cpu/LightningJit/Arm32/MultiBlock.cs new file mode 100644 index 00000000..a213c222 --- /dev/null +++ b/src/Ryujinx.Cpu/LightningJit/Arm32/MultiBlock.cs @@ -0,0 +1,31 @@ +using System.Collections.Generic; + +namespace Ryujinx.Cpu.LightningJit.Arm32 +{ + class MultiBlock + { + public readonly List<Block> Blocks; + public readonly bool HasHostCall; + public readonly bool IsTruncated; + + public MultiBlock(List<Block> blocks) + { + Blocks = blocks; + + Block block = blocks[0]; + + HasHostCall = block.HasHostCall; + + for (int index = 1; index < blocks.Count; index++) + { + block = blocks[index]; + + HasHostCall |= block.HasHostCall; + } + + block = blocks[^1]; + + IsTruncated = block.IsTruncated; + } + } +} |