hash(qAddr, hash); entry(qAddr, addr); previous(qAddr, prev); next(qAddr, 0L);
hash(qAddr, hash); entry(qAddr, addr); previous(qAddr, prev); next(qAddr, 0L);
/** * Unlinks and releases queue node. * * @param qAddr Queue node address. */ private void unlink(long qAddr) { assert head != 0 && tail != 0; long prev = 0; long next = next(qAddr); if (head == qAddr) head = next; else { prev = previous(qAddr); assert prev != 0 : "Invalid previous link for stripe: " + order; next(prev, next); } if (next != 0) previous(next, prev); else { assert qAddr == tail; tail = prev; } mem.releaseSystem(qAddr, NODE); size--; assert head != 0 || (tail == 0 && size == 0); }
/** * Unlinks and releases queue node. * * @param qAddr Queue node address. */ private void unlink(long qAddr) { assert head != 0 && tail != 0; long prev = 0; long next = next(qAddr); if (head == qAddr) head = next; else { prev = previous(qAddr); assert prev != 0 : "Invalid previous link for stripe: " + order; next(prev, next); } if (next != 0) previous(next, prev); else { assert qAddr == tail; tail = prev; } mem.releaseSystem(qAddr, NODE); size--; assert head != 0 || (tail == 0 && size == 0); }