# HG changeset patch # User Lukas Stadler # Date 1403792856 -7200 # Node ID a56aabb15e9895b96f1d8e89f1b43faf966254a3 # Parent 614d3b9ed188c4e64c1b0a35800a60b36cb9bcdf new constructor (with stateAfter) for StoreFieldNode diff -r 614d3b9ed188 -r a56aabb15e98 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeStoreNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeStoreNode.java Thu Jun 26 16:27:36 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeStoreNode.java Thu Jun 26 16:27:36 2014 +0200 @@ -103,14 +103,12 @@ @Override protected ValueNode cloneAsFieldAccess(ResolvedJavaField field) { - StoreFieldNode storeFieldNode = graph().add(new StoreFieldNode(object(), field, value())); - storeFieldNode.setStateAfter(stateAfter()); - return storeFieldNode; + return new StoreFieldNode(object(), field, value(), stateAfter()); } @Override protected ValueNode cloneAsArrayAccess(ValueNode location, LocationIdentity identity) { - return this.graph().add(new UnsafeStoreNode(object(), location, value, accessKind(), identity)); + return new UnsafeStoreNode(object(), location, value, accessKind(), identity); } public FrameState getState() { diff -r 614d3b9ed188 -r a56aabb15e98 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreFieldNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreFieldNode.java Thu Jun 26 16:27:36 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreFieldNode.java Thu Jun 26 16:27:36 2014 +0200 @@ -68,6 +68,12 @@ this.value = value; } + public StoreFieldNode(ValueNode object, ResolvedJavaField field, ValueNode value, FrameState stateAfter) { + super(StampFactory.forVoid(), object, field); + this.value = value; + this.stateAfter = stateAfter; + } + @Override public void virtualize(VirtualizerTool tool) { State state = tool.getObjectState(object());