changeset 20894:231597f3bbbe

Replace iterator with lambda to avoid iterator allocation
author Christian Wimmer <christian.wimmer@oracle.com>
date Sat, 11 Apr 2015 00:15:03 -0700
parents d689979bf956
children 23433619a7cd
files graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/util/GraphUtil.java
diffstat 2 files changed, 7 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java	Sat Apr 11 00:14:29 2015 -0700
+++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java	Sat Apr 11 00:15:03 2015 -0700
@@ -433,7 +433,7 @@
             this.movUsageFromEndTo(1);
             return true;
         }
-        for (int i = 0; i < this.extraUsagesCount; ++i) {
+        for (int i = this.extraUsagesCount - 1; i >= 0; i--) {
             if (extraUsages[i] == node) {
                 this.movUsageFromEndTo(i + INLINE_USAGE_COUNT);
                 return true;
@@ -683,12 +683,12 @@
     }
 
     private void unregisterInputs() {
-        for (Node input : inputs()) {
-            removeThisFromUsages(input);
+        acceptInputs((node, input) -> {
+            node.removeThisFromUsages(input);
             if (input.hasNoUsages()) {
-                maybeNotifyZeroUsages(input);
+                node.maybeNotifyZeroUsages(input);
             }
-        }
+        });
     }
 
     public void clearInputs() {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/util/GraphUtil.java	Sat Apr 11 00:14:29 2015 -0700
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/util/GraphUtil.java	Sat Apr 11 00:15:03 2015 -0700
@@ -150,11 +150,11 @@
 
     public static void killWithUnusedFloatingInputs(Node node) {
         node.safeDelete();
-        for (Node in : node.inputs()) {
+        node.acceptInputs((n, in) -> {
             if (in.isAlive() && in.hasNoUsages() && !(in instanceof FixedNode)) {
                 killWithUnusedFloatingInputs(in);
             }
-        }
+        });
     }
 
     public static void removeFixedWithUnusedInputs(FixedWithNextNode fixed) {