Mercurial > hg > graal-compiler
changeset 7010:1d5f1237902f
more small fixes to PEA
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Tue, 20 Nov 2012 16:38:09 +0100 |
parents | 867a02e8c610 |
children | 09df32b1dff9 |
files | graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/BlockState.java graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java |
diffstat | 2 files changed, 5 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/BlockState.java Tue Nov 20 15:57:48 2012 +0100 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/BlockState.java Tue Nov 20 16:38:09 2012 +0100 @@ -158,8 +158,10 @@ void addAndMarkAlias(VirtualObjectNode virtual, ValueNode node, NodeBitMap usages) { objectAliases.put(node, virtual); - for (Node usage : node.usages()) { - markVirtualUsages(usage, usages); + if (node.isAlive()) { + for (Node usage : node.usages()) { + markVirtualUsages(usage, usages); + } } }
--- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java Tue Nov 20 15:57:48 2012 +0100 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java Tue Nov 20 16:38:09 2012 +0100 @@ -116,6 +116,7 @@ fieldState[i] = state.getScalarAlias(fieldState[i]); } state.addObject(virtualObject, new ObjectState(virtualObject, fieldState, desc.lockCount)); + state.addAndMarkAlias(virtualObject, virtualObject, usages); } state.addAndMarkAlias(newAllocations[0].virtualObject, (ValueNode) node, usages); effects.deleteFixedNode((FixedWithNextNode) node);