2024-01-20 11:11:28 -03:00
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
|
namespace Ryujinx.Cpu.LightningJit.Arm32
|
|
|
|
{
|
|
|
|
class MultiBlock
|
|
|
|
{
|
|
|
|
public readonly List<Block> Blocks;
|
|
|
|
public readonly bool HasHostCall;
|
2024-02-08 16:17:47 -03:00
|
|
|
public readonly bool HasHostCallSkipContext;
|
2024-01-20 11:11:28 -03:00
|
|
|
public readonly bool IsTruncated;
|
|
|
|
|
|
|
|
public MultiBlock(List<Block> blocks)
|
|
|
|
{
|
|
|
|
Blocks = blocks;
|
|
|
|
|
|
|
|
Block block = blocks[0];
|
|
|
|
|
|
|
|
HasHostCall = block.HasHostCall;
|
2024-02-08 16:17:47 -03:00
|
|
|
HasHostCallSkipContext = block.HasHostCallSkipContext;
|
2024-01-20 11:11:28 -03:00
|
|
|
|
|
|
|
for (int index = 1; index < blocks.Count; index++)
|
|
|
|
{
|
|
|
|
block = blocks[index];
|
|
|
|
|
|
|
|
HasHostCall |= block.HasHostCall;
|
2024-02-08 16:17:47 -03:00
|
|
|
HasHostCallSkipContext |= block.HasHostCallSkipContext;
|
2024-01-20 11:11:28 -03:00
|
|
|
}
|
|
|
|
|
|
|
|
block = blocks[^1];
|
|
|
|
|
|
|
|
IsTruncated = block.IsTruncated;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|