changeset 23239:aeb81e02fc3d

Reduce usage of node predicate isNotA.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Fri, 01 Jan 2016 18:44:10 +0100
parents bc992c49ca71
children 6b75e88713cc
files graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/IfCanonicalizerTest.java graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/MonitorGraphTest.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractMergeNode.java
diffstat 3 files changed, 14 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/IfCanonicalizerTest.java	Fri Jan 01 18:35:53 2016 +0100
+++ b/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/IfCanonicalizerTest.java	Fri Jan 01 18:44:10 2016 +0100
@@ -216,8 +216,10 @@
         StructuredGraph graph = parseEager(snippet, AllowAssumptions.YES);
         ParameterNode param = graph.getNodes(ParameterNode.TYPE).iterator().next();
         ConstantNode constant = ConstantNode.forInt(0, graph);
-        for (Node n : param.usages().filter(isNotA(FrameState.class)).snapshot()) {
-            n.replaceFirstInput(param, constant);
+        for (Node n : param.usages().snapshot()) {
+            if (!(n instanceof FrameState)) {
+                n.replaceFirstInput(param, constant);
+            }
         }
         Debug.dump(graph, "Graph");
         new CanonicalizerPhase().apply(graph, new PhaseContext(getProviders()));
--- a/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/MonitorGraphTest.java	Fri Jan 01 18:35:53 2016 +0100
+++ b/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/MonitorGraphTest.java	Fri Jan 01 18:44:10 2016 +0100
@@ -94,8 +94,10 @@
         ParameterNode param = graph.getNodes(ParameterNode.TYPE).first();
         if (param != null) {
             ConstantNode constant = ConstantNode.forInt(0, graph);
-            for (Node n : param.usages().filter(isNotA(FrameState.class)).snapshot()) {
-                n.replaceFirstInput(param, constant);
+            for (Node n : param.usages().snapshot()) {
+                if (!(n instanceof FrameState)) {
+                    n.replaceFirstInput(param, constant);
+                }
             }
         }
         Map<Invoke, Double> hints = new HashMap<>();
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractMergeNode.java	Fri Jan 01 18:35:53 2016 +0100
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractMergeNode.java	Fri Jan 01 18:44:10 2016 +0100
@@ -171,8 +171,10 @@
                 return;
             }
             for (PhiNode phi : phis()) {
-                if (phi.usages().filter(isNotA(VirtualState.class)).and(node -> !merge.isPhiAtMerge(node)).isNotEmpty()) {
-                    return;
+                for (Node usage : phi.usages()) {
+                    if (!(usage instanceof VirtualState) && !merge.isPhiAtMerge(usage)) {
+                        return;
+                    }
                 }
             }
             Debug.log("Split %s into ends for %s.", this, merge);
@@ -216,8 +218,8 @@
             }
             List<PhiNode> phis = phis().snapshot();
             for (PhiNode phi : phis) {
-                for (Node usage : phi.usages().filter(isNotA(FrameState.class))) {
-                    if (usage != returnNode) {
+                for (Node usage : phi.usages()) {
+                    if (usage != returnNode && !(usage instanceof FrameState)) {
                         return;
                     }
                 }