# HG changeset patch # User Thomas Wuerthinger # Date 1433329693 -7200 # Node ID ed731ad12a10459cfa057c5cae73e284ce9df059 # Parent c8418635b575bfa46117f2299ebaacec9c90c92a Make stamp of checkcast more precise. diff -r c8418635b575 -r ed731ad12a10 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastNode.java --- 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 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 leafConcreteSubtype = type.findLeafConcreteSubtype(); if (leafConcreteSubtype != null && !leafConcreteSubtype.getResult().equals(type)) {