# HG changeset patch # User Christian Wimmer # Date 1350083405 25200 # Node ID 3cd6c6743a6a73eac619db19f6740e79c3e1ca61 # Parent 4ecd2f236bd8cddfc7539c4a4dede228b5ccfd0f Do not generate null check for values already proven to be non-null. diff -r 4ecd2f236bd8 -r 3cd6c6743a6a graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java --- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Fri Oct 12 16:09:36 2012 -0700 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Fri Oct 12 16:10:05 2012 -0700 @@ -759,6 +759,9 @@ } private void emitNullCheck(ValueNode receiver) { + if (receiver.stamp().nonNull()) { + return; + } BlockPlaceholderNode trueSucc = currentGraph.add(new BlockPlaceholderNode()); BlockPlaceholderNode falseSucc = currentGraph.add(new BlockPlaceholderNode()); IfNode ifNode = currentGraph.add(new IfNode(currentGraph.unique(new IsNullNode(receiver)), trueSucc, falseSucc, 0.5, graphId));