changeset 17367:08f69da64487

Support other stamps in Constant.forPrimitive().
author Roland Schatz <roland.schatz@oracle.com>
date Wed, 08 Oct 2014 12:16:05 +0200
parents 84f9c2baab1d
children a613bd4e6f67
files graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConstantNode.java
diffstat 1 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConstantNode.java	Wed Oct 08 12:15:34 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConstantNode.java	Wed Oct 08 12:16:05 2014 +0200
@@ -177,9 +177,12 @@
             assert constant.getKind().isNumericInteger() && stamp.getStackKind() == constant.getKind().getStackKind();
             IntegerStamp istamp = (IntegerStamp) stamp;
             return forIntegerBits(istamp.getBits(), constant);
-        } else {
+        } else if (stamp instanceof FloatStamp) {
             assert constant.getKind().isNumericFloat() && stamp.getStackKind() == constant.getKind();
             return forConstant(constant, null);
+        } else {
+            assert !(stamp instanceof AbstractObjectStamp);
+            return ConstantNode.create(constant, stamp.constant(constant, null));
         }
     }