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;
     }
 }