# HG changeset patch # User Lukas Stadler # Date 1352116712 -3600 # Node ID 6b71c116b370a12271f4338b7e17ade8b71f2d2e # Parent 3e2a91093bdd95419404c48aa8ed2d653e1928a4 PEA bugfix: look up scalar aliases when initializing virtual object entries diff -r 3e2a91093bdd -r 6b71c116b370 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 Mon Nov 05 12:57:17 2012 +0100 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java Mon Nov 05 12:58:32 2012 +0100 @@ -93,7 +93,11 @@ } else { effects.addFloatingNode(virtualObject); } - state.addObject(virtualObject, new ObjectState(virtualObject, op.fieldState(), 0)); + ValueNode[] fieldState = op.fieldState(); + for (int i = 0; i < fieldState.length; i++) { + fieldState[i] = state.getScalarAlias(fieldState[i]); + } + state.addObject(virtualObject, new ObjectState(virtualObject, fieldState, 0)); state.addAndMarkAlias(virtualObject, (ValueNode) node, usages); effects.deleteFixedNode((FixedWithNextNode) node); virtualIds++;