# HG changeset patch # User Lukas Stadler # Date 1383241487 -3600 # Node ID f376a77c22fbc50209ec7bd0df82ce387fb033f2 # Parent 1fbe3ca3d30dccc2ab682e132ffff8e1162a4c80 don't create ProxyNodes for constants during PEA diff -r 1fbe3ca3d30d -r f376a77c22fb 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 Thu Oct 31 12:08:07 2013 +0100 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java Thu Oct 31 18:44:47 2013 +0100 @@ -245,7 +245,7 @@ if (obj.isVirtual()) { for (int i = 0; i < obj.getEntries().length; i++) { ValueNode value = obj.getEntry(i); - if (!(value instanceof VirtualObjectNode)) { + if (!(value instanceof VirtualObjectNode || value.isConstant())) { if (exitNode.loopBegin().isPhiAtMerge(value) || initialObj == null || !initialObj.isVirtual() || initialObj.getEntry(i) != value) { ProxyNode proxy = new ProxyNode(value, exitNode, PhiType.Value, null); obj.setEntry(i, proxy);