# HG changeset patch # User Lukas Stadler # Date 1363775580 -3600 # Node ID c4028b279ebd337904e3081c6524eb1abee1aece # Parent d6ec0c05a2a21b6e10707382bcfac1684918bd3b change naming in Access interface diff -r d6ec0c05a2a2 -r c4028b279ebd graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/Access.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/Access.java Wed Mar 20 11:32:41 2013 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/Access.java Wed Mar 20 11:33:00 2013 +0100 @@ -29,7 +29,7 @@ ValueNode object(); - LocationNode location(); + LocationNode nullCheckLocation(); void setNullCheck(boolean check); diff -r d6ec0c05a2a2 -r c4028b279ebd 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 Wed Mar 20 11:32:41 2013 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AccessNode.java Wed Mar 20 11:33:00 2013 +0100 @@ -30,7 +30,8 @@ /** * Accesses a value at an memory address specified by an {@linkplain #object object} and a - * {@linkplain #location() location}. The access does not include a null check on the object. + * {@linkplain #nullCheckLocation() location}. The access does not include a null check on the + * object. */ public abstract class AccessNode extends FixedWithNextNode implements Access { @@ -46,6 +47,10 @@ return (LocationNode) location; } + public LocationNode nullCheckLocation() { + return (LocationNode) location; + } + public boolean getNullCheck() { return nullCheck; } diff -r d6ec0c05a2a2 -r c4028b279ebd graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingAccessNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingAccessNode.java Wed Mar 20 11:32:41 2013 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingAccessNode.java Wed Mar 20 11:33:00 2013 +0100 @@ -43,6 +43,10 @@ return location; } + public LocationNode nullCheckLocation() { + return location; + } + public boolean getNullCheck() { return nullCheck; } diff -r d6ec0c05a2a2 -r c4028b279ebd graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingReadNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingReadNode.java Wed Mar 20 11:32:41 2013 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingReadNode.java Wed Mar 20 11:33:00 2013 +0100 @@ -58,6 +58,6 @@ @Override public ValueNode canonical(CanonicalizerTool tool) { - return ReadNode.canonicalizeRead(this, tool); + return ReadNode.canonicalizeRead(this, location(), object(), tool); } } diff -r d6ec0c05a2a2 -r c4028b279ebd graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/GuardLoweringPhase.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/GuardLoweringPhase.java Wed Mar 20 11:32:41 2013 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/GuardLoweringPhase.java Wed Mar 20 11:33:00 2013 +0100 @@ -124,11 +124,11 @@ } else if (node instanceof Access) { Access access = (Access) node; GuardNode guard = nullGuarded.get(access.object()); - if (guard != null && isImplicitNullCheck(access.location(), target)) { + if (guard != null && isImplicitNullCheck(access.nullCheckLocation(), target)) { NodeInputList dependencies = ((ValueNode) access).dependencies(); dependencies.remove(guard); if (access instanceof FloatingReadNode) { - ReadNode read = graph.add(new ReadNode(access.object(), access.location(), ((FloatingReadNode) access).stamp(), dependencies)); + ReadNode read = graph.add(new ReadNode(access.object(), access.nullCheckLocation(), ((FloatingReadNode) access).stamp(), dependencies)); node.replaceAndDelete(read); access = read; lastFixed.setNext(read);