changeset 5518:62952fa9e7aa

UnsafeCast node is nonNull if it casts a non-null object
author Gilles Duboscq <duboscq@ssw.jku.at>
date Fri, 08 Jun 2012 11:52:37 +0200
parents e09a1efdeafd
children cedae73d9c2a
files graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeCastNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/type/StampFactory.java
diffstat 2 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeCastNode.java	Thu Jun 07 21:13:41 2012 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeCastNode.java	Fri Jun 08 11:52:37 2012 +0200
@@ -42,7 +42,7 @@
     }
 
     public UnsafeCastNode(ValueNode object, RiResolvedType toType) {
-        super(StampFactory.declared(toType));
+        super(StampFactory.declared(toType, object.stamp().nonNull()));
         this.object = object;
         this.toType = toType;
     }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/type/StampFactory.java	Thu Jun 07 21:13:41 2012 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/type/StampFactory.java	Fri Jun 08 11:52:37 2012 +0200
@@ -145,7 +145,7 @@
         return declared(type, true);
     }
 
-    private static Stamp declared(RiResolvedType type, boolean nonNull) {
+    public static Stamp declared(RiResolvedType type, boolean nonNull) {
         assert type != null;
         assert type.kind(false) == CiKind.Object;
         RiResolvedType exact = type.exactType();