Replace LinkedList by IntrusiveList to avoid allocations on JIT (#931)
* Replace LinkedList by IntrusiveList to avoid allocations on JIT * Fix wrong replacements
This commit is contained in:
parent
e9a37ca6a8
commit
e5f78fb1d4
18 changed files with 365 additions and 198 deletions
|
@ -9,13 +9,13 @@ namespace ARMeilleure.Translation
|
|||
{
|
||||
public static void Deconstruct(ControlFlowGraph cfg)
|
||||
{
|
||||
foreach (BasicBlock block in cfg.Blocks)
|
||||
for (BasicBlock block = cfg.Blocks.First; block != null; block = block.ListNext)
|
||||
{
|
||||
LinkedListNode<Node> node = block.Operations.First;
|
||||
Node node = block.Operations.First;
|
||||
|
||||
while (node?.Value is PhiNode phi)
|
||||
while (node is PhiNode phi)
|
||||
{
|
||||
LinkedListNode<Node> nextNode = node.Next;
|
||||
Node nextNode = node.ListNext;
|
||||
|
||||
Operand local = Local(phi.Destination.Type);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue