public EntryIterator fetchReady() { buildGraph(); Entry readyHead = null; Entry readyTail = null; Entry p = replayOrderHead; while (p != null) { Entry next = p.replayNext; if (p.isReady()) { unlinkFromReplayList(p); if (readyTail != null) { readyTail.replayNext = p; p.replayPrev = readyTail; } else { p.replayPrev = null; readyHead = p; } readyTail = p; p.replayNext = null; } p = next; } // we need the hash-table lookups for parents, so this must be done // out of the loop where we check isReadyToRun() for (p = readyHead; p != null; p = p.replayNext) { removeFromMap(p.getProcId()); unlinkFromLinkList(p); } return readyHead != null ? new EntryIterator(readyHead) : null; }
public EntryIterator fetchReady() { buildGraph(); Entry readyHead = null; Entry readyTail = null; Entry p = replayOrderHead; while (p != null) { Entry next = p.replayNext; if (p.isReady()) { unlinkFromReplayList(p); if (readyTail != null) { readyTail.replayNext = p; p.replayPrev = readyTail; } else { p.replayPrev = null; readyHead = p; } readyTail = p; p.replayNext = null; } p = next; } // we need the hash-table lookups for parents, so this must be done // out of the loop where we check isReadyToRun() for (p = readyHead; p != null; p = p.replayNext) { removeFromMap(p.getProcId()); unlinkFromLinkList(p); } return readyHead != null ? new EntryIterator(readyHead) : null; }
public EntryIterator fetchAll() { Entry head = replayOrderHead; for (Entry p = head; p != null; p = p.replayNext) { removeFromMap(p.getProcId()); } for (int i = 0; i < procedureMap.length; ++i) { assert procedureMap[i] == null : "map not empty i=" + i; } replayOrderHead = null; replayOrderTail = null; childUnlinkedHead = null; rootHead = null; return head != null ? new EntryIterator(head) : null; }
public EntryIterator fetchAll() { Entry head = replayOrderHead; for (Entry p = head; p != null; p = p.replayNext) { removeFromMap(p.getProcId()); } for (int i = 0; i < procedureMap.length; ++i) { assert procedureMap[i] == null : "map not empty i=" + i; } replayOrderHead = null; replayOrderTail = null; childUnlinkedHead = null; rootHead = null; return head != null ? new EntryIterator(head) : null; }