# HG changeset patch # User Lukas Stadler # Date 1353425889 -3600 # Node ID 1d5f1237902fabd8e5c4eaa3ee45adb594a73881 # Parent 867a02e8c6107a00f0555b160bc6a2c455ab6cd0 more small fixes to PEA diff -r 867a02e8c610 -r 1d5f1237902f graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/BlockState.java --- 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); + } } } diff -r 867a02e8c610 -r 1d5f1237902f 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 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);