# HG changeset patch # User Christian Wimmer # Date 1359986038 28800 # Node ID d8e0dd4011429a323f56e7ff8a25d86dc8495199 # Parent 1a4a00390113498345970653cd79d7a5cb3534f7 ReadNode created by a NodeIntrinsic needs to specify the memory dependency diff -r 1a4a00390113 -r d8e0dd401142 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AccessNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AccessNode.java Mon Feb 04 05:51:50 2013 -0800 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AccessNode.java Mon Feb 04 05:53:58 2013 -0800 @@ -58,6 +58,12 @@ this.location = location; } + public AccessNode(ValueNode object, ValueNode location, Stamp stamp, ValueNode... dependencies) { + super(stamp, dependencies); + this.object = object; + this.location = location; + } + @Override public Node node() { return this; diff -r 1a4a00390113 -r d8e0dd401142 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java Mon Feb 04 05:51:50 2013 -0800 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java Mon Feb 04 05:53:58 2013 -0800 @@ -41,11 +41,12 @@ super(object, object.graph().add(new LocationNode(locationIdentity, kind, displacement)), StampFactory.forKind(kind)); } - private ReadNode(ValueNode object, ValueNode location) { - // Used by node intrinsics. Since the initial value for location is a parameter, i.e., a - // LocalNode, the - // constructor cannot use the declared type LocationNode - this(object, location, StampFactory.forNodeIntrinsic()); + private ReadNode(ValueNode object, ValueNode location, ValueNode dependency) { + /* + * Used by node intrinsics. Since the initial value for location is a parameter, i.e., a + * LocalNode, the constructor cannot use the declared type LocationNode. + */ + super(object, location, StampFactory.forNodeIntrinsic(), dependency); } @Override