changeset 7669:fae0b2f0279e

Bugfix: ControlSplitNode can have no successor, so check for successor count instead of class
author Christian Wimmer <christian.wimmer@oracle.com>
date Mon, 04 Feb 2013 05:41:14 -0800
parents 641a4c6ac1ce
children fca53a04eabc
files graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ComputeProbabilityPhase.java
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ComputeProbabilityPhase.java	Thu Jan 31 21:55:36 2013 +0100
+++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ComputeProbabilityPhase.java	Mon Feb 04 05:41:14 2013 -0800
@@ -419,14 +419,14 @@
             Node current = scopeStart;
 
             while (current != null) {
-                if (current instanceof ControlSplitNode) {
+                if (current.successors().count() > 1) {
+                    assert current instanceof ControlSplitNode;
                     ControlSplitNode controlSplit = (ControlSplitNode) current;
                     current = getMaxProbabilitySux(controlSplit);
                     if (((FixedNode) current).probability() < minPathProbability) {
                         minPathProbability = ((FixedNode) current).probability();
                     }
                 } else {
-                    assert current.successors().count() <= 1;
                     current = current.successors().first();
                 }
             }