# HG changeset patch # User Roland Schatz # Date 1424974099 -3600 # Node ID 382e4f844d9658fb22d452d21e94460249507d53 # Parent b92530cb27df84e3078f79ebfc0dd7f9b0239667 Remove default methods from MemoryAccess interface. diff -r b92530cb27df -r 382e4f844d96 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/MemoryAccess.java --- 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); } diff -r b92530cb27df -r 382e4f844d96 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ArrayEqualsNode.java --- 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; + } }