Mercurial > hg > graal-compiler
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; } }