# HG changeset patch # User Doug Simon # Date 1367844797 -7200 # Node ID 50779b21024b4480a750f695b6557be907fd3a6a # Parent df3aa336a313090608c3e8d532cf3be2c27869cf modified PiPushable implementation for IsNullNode to account for an input that is an unsafe cast from a word value diff -r df3aa336a313 -r 50779b21024b graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IsNullNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IsNullNode.java Mon May 06 14:14:08 2013 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IsNullNode.java Mon May 06 14:53:17 2013 +0200 @@ -83,12 +83,13 @@ @Override public boolean push(PiNode parent) { ObjectStamp piStamp = parent.objectStamp(); - ObjectStamp piValueStamp = parent.object().objectStamp(); - if (piStamp.nonNull() == piValueStamp.nonNull() && piStamp.alwaysNull() == piValueStamp.alwaysNull()) { - replaceFirstInput(parent, parent.object()); - return true; - } else { - return false; + if (parent.object().kind() == Kind.Object) { + ObjectStamp piValueStamp = parent.object().objectStamp(); + if (piStamp.nonNull() == piValueStamp.nonNull() && piStamp.alwaysNull() == piValueStamp.alwaysNull()) { + replaceFirstInput(parent, parent.object()); + return true; + } } + return false; } }