changeset 15449:cb2eef41371c

PiNode: merge object stamps using castTo
author Andreas Woess <andreas.woess@jku.at>
date Wed, 30 Apr 2014 19:40:40 +0200
parents 3b2cd5f6d7a5
children 625f779255a7
files graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiNode.java
diffstat 1 files changed, 3 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiNode.java	Wed Apr 30 19:40:29 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiNode.java	Wed Apr 30 19:40:40 2014 +0200
@@ -74,6 +74,9 @@
         if (stamp() == StampFactory.forNodeIntrinsic()) {
             return false;
         }
+        if (stamp() instanceof ObjectStamp && object.stamp() instanceof ObjectStamp) {
+            return updateStamp(((ObjectStamp) object.stamp()).castTo((ObjectStamp) stamp()));
+        }
         return updateStamp(stamp().join(object().stamp()));
     }