changeset 16033:4408391d34a1

[inliner] assertion for result in a single place (producer) not at each consumer
author Miguel Garcia <miguel.m.garcia@oracle.com>
date Tue, 03 Jun 2014 16:00:11 +0200
parents 8beba154719b
children 2aa285cf40db
files graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/walker/CallsiteHolder.java graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/walker/InliningIterator.java
diffstat 2 files changed, 12 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/walker/CallsiteHolder.java	Tue Jun 03 11:27:08 2014 +0200
+++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/walker/CallsiteHolder.java	Tue Jun 03 16:00:11 2014 +0200
@@ -29,7 +29,6 @@
 import com.oracle.graal.nodes.StructuredGraph;
 import com.oracle.graal.phases.graph.FixedNodeProbabilityCache;
 
-import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.function.ToDoubleFunction;
 
@@ -59,7 +58,6 @@
             computeInliningRelevance = null;
         } else {
             remainingInvokes = new InliningIterator(graph).apply();
-            assert remainingInvokes.size() == count(graph.getInvokes());
             if (remainingInvokes.isEmpty()) {
                 probabilities = null;
                 computeInliningRelevance = null;
@@ -71,16 +69,6 @@
         }
     }
 
-    private static int count(Iterable<Invoke> invokes) {
-        int count = 0;
-        Iterator<Invoke> iterator = invokes.iterator();
-        while (iterator.hasNext()) {
-            iterator.next();
-            count++;
-        }
-        return count;
-    }
-
     /**
      * Gets the method associated with the {@linkplain #graph() graph} represented by this object.
      */
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/walker/InliningIterator.java	Tue Jun 03 11:27:08 2014 +0200
+++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/inlining/walker/InliningIterator.java	Tue Jun 03 16:00:11 2014 +0200
@@ -29,6 +29,7 @@
 
 import java.util.ArrayDeque;
 import java.util.Deque;
+import java.util.Iterator;
 import java.util.LinkedList;
 
 /**
@@ -81,6 +82,7 @@
             }
         }
 
+        assert invokes.size() == count(start.graph().getInvokes());
         return invokes;
     }
 
@@ -127,4 +129,14 @@
         }
         return true;
     }
+
+    private static int count(Iterable<Invoke> invokes) {
+        int count = 0;
+        Iterator<Invoke> iterator = invokes.iterator();
+        while (iterator.hasNext()) {
+            iterator.next();
+            count++;
+        }
+        return count;
+    }
 }