diff graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/State.java @ 15491:7f492a524ca7

[flow-sensitive] bug fix, simplify ShortCircuitOrNode when of check-cast form
author Miguel Garcia <miguel.m.garcia@oracle.com>
date Sun, 04 May 2014 14:44:09 +0200
parents be6685c6a831
children 49a917f9fa07
line wrap: on
line diff
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/State.java	Sun May 04 01:28:07 2014 +0200
+++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/cfs/State.java	Sun May 04 14:44:09 2014 +0200
@@ -422,7 +422,8 @@
         assert FlowUtil.hasLegalObjectStamp(object);
         assert !to.isPrimitive();
         final ValueNode scrutinee = GraphUtil.unproxify(object);
-        if (isNull(scrutinee)) {
+        if (!isNonNull(scrutinee)) {
+            // unless `null` can be ruled out, a positive answer isn't safe
             return false;
         }
         ResolvedJavaType stampType = StampTool.typeOrNull(object);