# HG changeset patch # User Thomas Wuerthinger # Date 1432664591 -7200 # Node ID f9031351b2bdb1d51b99bd9554e33b6d68ac9720 # Parent e112406036071ed3270a192f46c4181412365a25 Improve canonicalization of instanceof node. diff -r e11240603607 -r f9031351b2bd 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 Tue May 26 20:21:07 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java Tue May 26 20:23:11 2015 +0200 @@ -132,7 +132,7 @@ return LogicConstantNode.contradiction(); } else { boolean superType = inputType.isAssignableFrom(type); - if (!superType && !isInterfaceOrArrayOfInterface(inputType) && !isInterfaceOrArrayOfInterface(type)) { + if (!superType && (type.asExactType() != null || (!isInterfaceOrArrayOfInterface(inputType) && !isInterfaceOrArrayOfInterface(type)))) { return LogicConstantNode.contradiction(); } // since the subtype comparison was only performed on a declared type we don't