# HG changeset patch # User Lukas Stadler # Date 1358958067 -3600 # Node ID 1563a48b798d049898633e8de3676262a0dcb6b4 # Parent f057113c7a87dd3131416d1712e7b105cc0d0165 don't tail duplicate allocations diff -r f057113c7a87 -r 1563a48b798d graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java Wed Jan 23 16:46:20 2013 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java Wed Jan 23 17:21:07 2013 +0100 @@ -31,6 +31,7 @@ import com.oracle.graal.nodes.VirtualState.NodeClosure; import com.oracle.graal.nodes.extended.*; import com.oracle.graal.nodes.java.*; +import com.oracle.graal.nodes.spi.*; import com.oracle.graal.nodes.type.*; import com.oracle.graal.nodes.util.*; import com.oracle.graal.phases.*; @@ -94,6 +95,9 @@ int opportunities = 0; while (current instanceof FixedWithNextNode) { current = ((FixedWithNextNode) current).next(); + if (current instanceof VirtualizableAllocation) { + return false; + } for (PhiNode phi : improvements) { for (Node input : current.inputs()) { if (input == phi) {