changeset 21380:af9d0db304e8

Do not weaken stamp of PhiNode in inferStamp
author Christian Wimmer <christian.wimmer@oracle.com>
date Thu, 14 May 2015 16:05:02 -0700
parents 0042b1960e71
children d339bcb65015
files graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValuePhiNode.java
diffstat 1 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValuePhiNode.java	Thu May 14 16:03:49 2015 -0700
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValuePhiNode.java	Thu May 14 16:05:02 2015 -0700
@@ -59,6 +59,10 @@
 
     @Override
     public boolean inferStamp() {
-        return updateStamp(StampTool.meet(values()));
+        Stamp valuesStamp = StampTool.meet(values());
+        if (stamp.isCompatible(valuesStamp)) {
+            valuesStamp = stamp.join(valuesStamp);
+        }
+        return updateStamp(valuesStamp);
     }
 }