# HG changeset patch # User Thomas Wuerthinger # Date 1424623830 -3600 # Node ID 34462e7f027879b428f381d4133135c37a201740 # Parent fac54d234f30f53274f6e9bbe0e072f2784ef69f Clean up phi nodes in PEA. diff -r fac54d234f30 -r 34462e7f0278 graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java --- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java Sun Feb 22 17:17:45 2015 +0100 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java Sun Feb 22 17:50:30 2015 +0100 @@ -649,6 +649,7 @@ if (uniqueVirtualObject) { // all inputs refer to the same object: just make the phi node an alias addAndMarkAlias(objStates[0].virtual, phi); + mergeEffects.deleteNode(phi); return false; } else { // all inputs are virtual: check if they're compatible and without identity @@ -680,6 +681,7 @@ if (compatible) { VirtualObjectNode virtual = getValueObjectVirtual(phi, getObjectState(states.get(0), phi.valueAt(0)).virtual); mergeEffects.addFloatingNode(virtual, "valueObjectNode"); + mergeEffects.deleteNode(phi); boolean materialized = mergeObjectStates(virtual, objStates, states); addAndMarkAlias(virtual, virtual);