Lines Matching refs:tail

26  * producer.  The <em>tail</em> of the queue is that element that has
83 * (unmatched) queue node (or null if empty); and "tail" that
88 * head tail
95 * tail pointers. This has led to the development of
131 * updates on head/tail fields.
134 * never versus always updating queue (head and tail) pointers.
141 * head tail
148 * similarly for "tail") is an empirical matter. We have found
155 * virtue of only sometimes updating head or tail pointers when
180 * known first unmatched node, and similarly for tail. Again, this
200 * current tail starting from "tail" may also encounter
207 * And while direct writes are possible for tail updates, they
219 * threshold of two -- that is, we update head/tail when the
236 * We allow both the head and tail fields to be null before any
275 * Starting at current tail pointer, find the actual last node
533 /** tail of the queue; null until first append */
534 private transient volatile Node tail;
623 * Tries to append node s as tail.
632 for (Node t = tail, p = t;;) { // move p to last node and append
633 Node n, u; // temps for reads of next & tail
641 p = p != t && t != (u = tail) ? (t = u) : // stale tail
647 while ((tail != t || !casTail(t, s)) &&
648 (t = tail) != null &&
1003 * Inserts the specified element at the tail of this queue.
1013 * Inserts the specified element at the tail of this queue.
1028 * Inserts the specified element at the tail of this queue.
1040 * Inserts the specified element at the tail of this queue.
1072 * else inserts the specified element at the tail of this queue
1091 * else inserts the specified element at the tail of this queue
1162 * The elements will be returned in order from first (head) to last (tail).
1311 (k.getDeclaredField("tail"));