diff graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastNode.java @ 15754:45285c8eccbd

Never use the current node's stamp in ValueNode.inferStamp overrides. Removed unused PhiNode.inferPhiStamp
author Gilles Duboscq <duboscq@ssw.jku.at>
date Mon, 19 May 2014 11:19:07 +0200
parents 61363577a184
children 1ddee372bf62
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastNode.java	Mon May 19 11:59:54 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastNode.java	Mon May 19 11:19:07 2014 +0200
@@ -132,8 +132,9 @@
 
     @Override
     public boolean inferStamp() {
-        if (stamp() instanceof ObjectStamp && object().stamp() instanceof ObjectStamp) {
-            return updateStamp(((ObjectStamp) object().stamp()).castTo((ObjectStamp) stamp()));
+        if (object().stamp() instanceof ObjectStamp) {
+            ObjectStamp castStamp = (ObjectStamp) StampFactory.declared(type);
+            return updateStamp(((ObjectStamp) object().stamp()).castTo(castStamp));
         }
         return false;
     }