changeset 23231:abe8b7a5baec

Remove FilteredNodeIterable#nonNull.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Fri, 01 Jan 2016 15:28:03 +0100
parents 2afef5808af5
children 9787a53c5345
files graal/com.oracle.graal.graph/src/com/oracle/graal/graph/iterators/FilteredNodeIterable.java graal/com.oracle.graal.microbenchmarks/src/com/oracle/graal/microbenchmarks/graal/NodeBenchmark.java graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/SinglePassNodeIterator.java graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapePhase.java
diffstat 4 files changed, 12 insertions(+), 33 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/iterators/FilteredNodeIterable.java	Fri Jan 01 15:20:58 2016 +0100
+++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/iterators/FilteredNodeIterable.java	Fri Jan 01 15:28:03 2016 +0100
@@ -46,12 +46,6 @@
     }
 
     @Override
-    public FilteredNodeIterable<T> nonNull() {
-        this.predicate = this.predicate.and(NodePredicates.isNotNull());
-        return this;
-    }
-
-    @Override
     public DistinctFilteredNodeIterable<T> distinct() {
         DistinctFilteredNodeIterable<T> distinct = new DistinctFilteredNodeIterable<>(nodeIterable);
         distinct.predicate = predicate;
@@ -74,8 +68,4 @@
         return this.and(p);
     }
 
-    @Override
-    public FilteredNodeIterable<T> filterInterface(Class<?> iface) {
-        return this.and(NodePredicates.isAInterface(iface));
-    }
 }
--- a/graal/com.oracle.graal.microbenchmarks/src/com/oracle/graal/microbenchmarks/graal/NodeBenchmark.java	Fri Jan 01 15:20:58 2016 +0100
+++ b/graal/com.oracle.graal.microbenchmarks/src/com/oracle/graal/microbenchmarks/graal/NodeBenchmark.java	Fri Jan 01 15:28:03 2016 +0100
@@ -71,16 +71,6 @@
     public static class HashMapComputeIfAbsent extends NodesState {
     }
 
-    @Benchmark
-    @Warmup(iterations = 20)
-    public void nonNullInputs(HashMapComputeIfAbsent s, Blackhole bh) {
-        for (Node n : s.nodes) {
-            for (Node input : n.inputs().nonNull()) {
-                bh.consume(input);
-            }
-        }
-    }
-
     // Checkstyle: stop method name check
     @Benchmark
     @Warmup(iterations = 20)
--- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/SinglePassNodeIterator.java	Fri Jan 01 15:20:58 2016 +0100
+++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/SinglePassNodeIterator.java	Fri Jan 01 15:28:03 2016 +0100
@@ -25,7 +25,6 @@
 import java.util.ArrayDeque;
 import java.util.ArrayList;
 import java.util.Deque;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
@@ -226,17 +225,18 @@
      * </p>
      */
     private void queueSuccessors(FixedNode x) {
-        Iterator<Node> iter = x.successors().nonNull().iterator();
-        if (iter.hasNext()) {
-            AbstractBeginNode begin = (AbstractBeginNode) iter.next();
-            // the current state isn't cloned for the first successor
-            // conceptually, the state is handed over to it
-            nodeQueue.addFirst(new PathStart<>(begin, state));
-        }
-        while (iter.hasNext()) {
-            AbstractBeginNode begin = (AbstractBeginNode) iter.next();
-            // for all other successors it is cloned
-            nodeQueue.addFirst(new PathStart<>(begin, state.clone()));
+        T startState = state;
+        T curState = startState;
+        for (Node succ : x.successors()) {
+            if (succ != null) {
+                if (curState == null) {
+                    // the current state isn't cloned for the first successor
+                    // conceptually, the state is handed over to it
+                    curState = startState.clone();
+                }
+                AbstractBeginNode begin = (AbstractBeginNode) succ;
+                nodeQueue.addFirst(new PathStart<>(begin, curState));
+            }
         }
     }
 
--- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapePhase.java	Fri Jan 01 15:20:58 2016 +0100
+++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapePhase.java	Fri Jan 01 15:28:03 2016 +0100
@@ -30,7 +30,6 @@
 import com.oracle.graal.graph.Node;
 import com.oracle.graal.nodes.StructuredGraph;
 import com.oracle.graal.nodes.cfg.ControlFlowGraph;
-import com.oracle.graal.nodes.spi.VirtualizableAllocation;
 import com.oracle.graal.nodes.virtual.VirtualObjectNode;
 import com.oracle.graal.options.Option;
 import com.oracle.graal.options.OptionType;