# HG changeset patch # User Tom Rodriguez # Date 1403571631 25200 # Node ID 3534a68bb8b94cc4d54e8188d10547f668b3c113 # Parent 8322735c75401cc5e5cb8fa308dec62590263d2b add contains to NodeWorkList diff -r 8322735c7540 -r 3534a68bb8b9 graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeWorkList.java --- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeWorkList.java Mon Jun 23 18:00:14 2014 -0700 +++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeWorkList.java Mon Jun 23 18:00:31 2014 -0700 @@ -50,6 +50,8 @@ public abstract void add(Node node); + public abstract boolean contains(Node node); + private abstract class QueueConsumingIterator implements Iterator { protected void dropDeleted() { @@ -140,6 +142,20 @@ } } + @Override + public boolean contains(Node node) { + if (inQueue != null) { + return inQueue.isMarked(node); + } else { + for (Node queuedNode : worklist) { + if (queuedNode == node) { + return true; + } + } + return false; + } + } + private boolean checkInfiniteWork(Node node) { if (lastPull == node) { if (firstNoChange == null) { @@ -186,6 +202,11 @@ } @Override + public boolean contains(Node node) { + return visited.isMarked(node); + } + + @Override public Iterator iterator() { return new QueueConsumingIterator() { @Override