# HG changeset patch # User Gilles Duboscq # Date 1338818425 -7200 # Node ID c89a69ca8dbb897af0f23456642dbc661eba527a # Parent af838558e9e58368fb3e8124e155a171d97d4d1d NodeBitMap is a NodeIterable diff -r af838558e9e5 -r c89a69ca8dbb graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeBitMap.java --- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeBitMap.java Fri Jun 01 17:27:38 2012 +0200 +++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeBitMap.java Mon Jun 04 16:00:25 2012 +0200 @@ -24,9 +24,11 @@ import java.util.*; +import com.oracle.graal.graph.iterators.*; -public final class NodeBitMap implements Iterable{ + +public final class NodeBitMap extends NodeIterable{ private final boolean autoGrow; private final BitMap bitMap; private final Graph graph; @@ -186,4 +188,19 @@ public NodeBitMap copy() { return new NodeBitMap(graph, autoGrow, bitMap.copy()); } + + @Override + public NodeIterable distinct() { + return this; + } + + @Override + public int count() { + return bitMap.cardinality(); + } + + @Override + public boolean contains(Node node) { + return isMarked(node); + } } diff -r af838558e9e5 -r c89a69ca8dbb graal/com.oracle.graal.graph/src/com/oracle/graal/graph/iterators/NodeIterable.java --- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/iterators/NodeIterable.java Fri Jun 01 17:27:38 2012 +0200 +++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/iterators/NodeIterable.java Mon Jun 04 16:00:25 2012 +0200 @@ -46,7 +46,7 @@ public FilteredNodeIterable nonNull() { return new FilteredNodeIterable<>(this).and(NodePredicates.isNotNull()); } - public FilteredNodeIterable distinct() { + public NodeIterable distinct() { return new FilteredNodeIterable<>(this).distinct(); } public List snapshot() {