Mercurial > hg > graal-compiler
changeset 7673:d8e0dd401142
ReadNode created by a NodeIntrinsic needs to specify the memory dependency
author | Christian Wimmer <christian.wimmer@oracle.com> |
---|---|
date | Mon, 04 Feb 2013 05:53:58 -0800 |
parents | 1a4a00390113 |
children | b34ac36d27e1 |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AccessNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java |
diffstat | 2 files changed, 12 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- 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;
--- 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