changeset 21694:ed731ad12a10

Make stamp of checkcast more precise.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Wed, 03 Jun 2015 13:08:13 +0200
parents c8418635b575
children e7024ad04e07
files graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastNode.java
diffstat 1 files changed, 3 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastNode.java	Wed Jun 03 10:56:15 2015 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastNode.java	Wed Jun 03 13:08:13 2015 +0200
@@ -60,8 +60,8 @@
     }
 
     protected CheckCastNode(NodeClass<? extends CheckCastNode> c, ResolvedJavaType type, ValueNode object, JavaTypeProfile profile, boolean forStoreCheck) {
-        super(c, StampFactory.declaredTrusted(type));
-        assert object.stamp() instanceof ObjectStamp : object + ":" + object.stamp();
+        super(c, StampFactory.declaredTrusted(type).improveWith(object.stamp()));
+        assert object.stamp() instanceof ObjectStamp : object;
         assert type != null;
         this.type = type;
         this.object = object;
@@ -75,7 +75,7 @@
         if (synonym != null) {
             return synonym;
         }
-        assert object.stamp() instanceof ObjectStamp : object + ":" + object.stamp();
+        assert object.stamp() instanceof ObjectStamp : object;
         if (assumptions != null) {
             AssumptionResult<ResolvedJavaType> leafConcreteSubtype = type.findLeafConcreteSubtype();
             if (leafConcreteSubtype != null && !leafConcreteSubtype.getResult().equals(type)) {