Mercurial > hg > truffle
changeset 16421:c158f653275e
don't forget to record assumptions
author | Tom Rodriguez <tom.rodriguez@oracle.com> |
---|---|
date | Mon, 07 Jul 2014 20:26:31 -0700 |
parents | e4ac25d4e13d |
children | 7f20dee1be60 |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java |
diffstat | 1 files changed, 8 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- 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; + } } } }