Mercurial > hg > graal-compiler
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();