Mercurial > hg > truffle
diff graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java @ 13367:413040ab993e
remove some usages of HashSet
author | Bernhard Urban <bernhard.urban@jku.at> |
---|---|
date | Tue, 17 Dec 2013 16:00:57 +0100 |
parents | c258331fdde6 |
children | fabf5447603e 80147dac0d6e |
line wrap: on
line diff
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java Tue Dec 17 18:14:02 2013 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java Tue Dec 17 16:00:57 2013 +0100 @@ -87,17 +87,22 @@ if (fixedNodeCount < TailDuplicationTrivialSize.getValue()) { return true; } - HashSet<PhiNode> improvements = new HashSet<>(); + ArrayList<PhiNode> improvements = null; for (PhiNode phi : merge.phis()) { Stamp phiStamp = phi.stamp(); for (ValueNode input : phi.values()) { if (!input.stamp().equals(phiStamp)) { - improvements.add(phi); + if (improvements == null) { + improvements = new ArrayList<>(); + } + if (!improvements.contains(phi)) { + improvements.add(phi); + } break; } } } - if (improvements.isEmpty()) { + if (improvements == null) { return false; } FixedNode current = merge;