Mercurial > hg > graal-compiler
changeset 9575:50779b21024b
modified PiPushable implementation for IsNullNode to account for an input that is an unsafe cast from a word value
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Mon, 06 May 2013 14:53:17 +0200 |
parents | df3aa336a313 |
children | e799f8478b6d |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IsNullNode.java |
diffstat | 1 files changed, 7 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- 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; } }