Mercurial > hg > graal-jvmci-8
changeset 5480:c89a69ca8dbb
NodeBitMap is a NodeIterable
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Mon, 04 Jun 2012 16:00:25 +0200 |
parents | af838558e9e5 |
children | e26e6dca0bcf 62767a364197 |
files | graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeBitMap.java graal/com.oracle.graal.graph/src/com/oracle/graal/graph/iterators/NodeIterable.java |
diffstat | 2 files changed, 19 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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<Node>{ + +public final class NodeBitMap extends NodeIterable<Node>{ 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<Node> distinct() { + return this; + } + + @Override + public int count() { + return bitMap.cardinality(); + } + + @Override + public boolean contains(Node node) { + return isMarked(node); + } }
--- 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<T> nonNull() { return new FilteredNodeIterable<>(this).and(NodePredicates.isNotNull()); } - public FilteredNodeIterable<T> distinct() { + public NodeIterable<T> distinct() { return new FilteredNodeIterable<>(this).distinct(); } public List<T> snapshot() {