# HG changeset patch # User Tom Rodriguez # Date 1404789991 25200 # Node ID c158f653275e3efb40e12f774d8449f53bb638ef # Parent e4ac25d4e13d8dbd95ce4a4c45b12715c904d7d7 don't forget to record assumptions diff -r e4ac25d4e13d -r c158f653275e graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java Mon Jul 07 17:43:27 2014 -0700 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java Mon Jul 07 20:26:31 2014 -0700 @@ -72,11 +72,14 @@ if (result != null) { return result; } - ResolvedJavaType exact = stampType.findUniqueConcreteSubtype(); - if (exact != null) { - result = checkInstanceOf(forValue, exact, objectStamp.nonNull(), true); - if (result != null) { - return result; + if (tool.assumptions() != null && tool.assumptions().useOptimisticAssumptions()) { + ResolvedJavaType exact = stampType.findUniqueConcreteSubtype(); + if (exact != null) { + result = checkInstanceOf(forValue, exact, objectStamp.nonNull(), true); + if (result != null) { + tool.assumptions().recordConcreteSubtype(stampType, exact); + return result; + } } } }