# HG changeset patch # User Gilles Duboscq # Date 1398414797 -7200 # Node ID d8b36589cab08a83ac51c8a14b5839eda5b32dcc # Parent dea98caac669eda12a48067e005679970fd3b67d Guards which are guarenteed to succeed can replace themselves with null. diff -r dea98caac669 -r d8b36589cab0 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardNode.java Thu Apr 24 17:18:24 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardNode.java Fri Apr 25 10:33:17 2014 +0200 @@ -107,7 +107,8 @@ } else if (condition() instanceof LogicConstantNode) { LogicConstantNode c = (LogicConstantNode) condition(); if (c.getValue() != negated) { - return graph().start(); + this.replaceAtUsages(null); + return null; } } return this; diff -r dea98caac669 -r d8b36589cab0 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardedValueNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardedValueNode.java Thu Apr 24 17:18:24 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardedValueNode.java Fri Apr 25 10:33:17 2014 +0200 @@ -77,7 +77,7 @@ @Override public Node canonical(CanonicalizerTool tool) { - if (getGuard() == graph().start() || getGuard() == null) { + if (getGuard() == null) { if (stamp().equals(object().stamp())) { return object(); } else {