Mercurial > hg > graal-compiler
changeset 12649:f376a77c22fb
don't create ProxyNodes for constants during PEA
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Thu, 31 Oct 2013 18:44:47 +0100 |
parents | 1fbe3ca3d30d |
children | 04c74433529a |
files | graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java |
diffstat | 1 files changed, 1 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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);