Mercurial > hg > graal-compiler
changeset 19608:382e4f844d96
Remove default methods from MemoryAccess interface.
author | Roland Schatz <roland.schatz@oracle.com> |
---|---|
date | Thu, 26 Feb 2015 19:08:19 +0100 |
parents | b92530cb27df |
children | d5042bcd422f |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/MemoryAccess.java graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ArrayEqualsNode.java |
diffstat | 2 files changed, 13 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/MemoryAccess.java Thu Feb 26 17:22:08 2015 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/MemoryAccess.java Thu Feb 26 19:08:19 2015 +0100 @@ -32,14 +32,10 @@ LocationIdentity getLocationIdentity(); - default MemoryNode getLastLocationAccess() { - return null; - } + MemoryNode getLastLocationAccess(); /** * @param lla the {@link MemoryNode} that represents the last kill of the location */ - default void setLastLocationAccess(MemoryNode lla) { - // empty - } + void setLastLocationAccess(MemoryNode lla); }
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ArrayEqualsNode.java Thu Feb 26 17:22:08 2015 +0100 +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ArrayEqualsNode.java Thu Feb 26 19:08:19 2015 +0100 @@ -51,6 +51,8 @@ /** Length of both arrays. */ @Input ValueNode length; + @OptionalInput(InputType.Memory) MemoryNode lastLocationAccess; + public ArrayEqualsNode(ValueNode array1, ValueNode array2, ValueNode length) { super(TYPE, StampFactory.forKind(Kind.Boolean)); // Ignore nullness in stamp equality test @@ -139,4 +141,13 @@ public LocationIdentity getLocationIdentity() { return NamedLocationIdentity.getArrayLocation(kind); } + + public MemoryNode getLastLocationAccess() { + return lastLocationAccess; + } + + public void setLastLocationAccess(MemoryNode lla) { + updateUsages(ValueNodeUtil.asNode(lastLocationAccess), ValueNodeUtil.asNode(lla)); + lastLocationAccess = lla; + } }