Lines Matching refs:head

48  * The <em>head</em> of the queue is that element that has been on the
53 * operations obtain elements at the head of the queue.
125 * head as well.
127 * Nodes that are reachable from head. CASing the item
129 * queue. Reachability of all elements from head must remain
131 * head to advance. A dequeued Node may remain in use
145 * self-link implicitly means to advance to head.
147 * Both head and tail are permitted to lag. In fact, failing to
151 * that is, we update head/tail when the current pointer appears
154 * Since head and tail are updated concurrently and independently,
155 * it is possible for tail to lag behind head (why not)?
170 * Both head and tail may or may not point to a Node with a
172 * be null. Upon creation, both head and tail refer to a dummy
173 * Node with null item. Both head and tail are only updated using
226 * - all live nodes are reachable from head via succ()
227 * - head != null
228 * - (tmp = head).next != tmp || tmp != head
230 * - head.item may or may not be null.
231 * - it is permitted for tail to lag behind head, that is, for tail
232 * to not be reachable from head!
234 private transient volatile Node<E> head;
244 * - it is permitted for tail to lag behind head, that is, for tail
245 * to not be reachable from head!
255 head = tail = new Node<E>(null);
281 head = h;
300 * Try to CAS head to p. If successful, repoint old head to itself
309 * Returns the successor of p, or the head node if p.next has been
315 return (p == next) ? head : next;
346 // jump to head, from which all live nodes are always
348 p = (t != (t = tail)) ? t : head;
358 for (Node<E> h = head, p = h, q;;) {
383 for (Node<E> h = head, p = h, q;;) {
408 for (Node<E> h = head, p = h, q;;) {
558 // jump to head, from which all live nodes are always
560 p = (t != (t = tail)) ? t : head;
655 * The elements will be returned in order from first (head) to last (tail).
796 head = h;
828 (k.getDeclaredField("head"));