Lines Matching refs:tail
70 tail: CachePadded<AtomicUsize>, field
108 let tail = 0; in new() localVariable
135 tail: CachePadded::new(AtomicUsize::new(tail)), in new()
156 let mut tail = self.tail.load(Ordering::Relaxed); in push() localVariable
160 let index = tail & (self.one_lap - 1); in push()
161 let lap = tail & !(self.one_lap - 1); in push()
168 if tail == stamp { in push()
172 tail + 1 in push()
181 .tail in push()
182 .compare_exchange_weak(tail, new_tail, Ordering::SeqCst, Ordering::Relaxed) in push()
187 slot.stamp.store(tail + 1, Ordering::Release); in push()
191 tail = t; in push()
195 } else if stamp.wrapping_add(self.one_lap) == tail + 1 { in push()
200 if head.wrapping_add(self.one_lap) == tail { in push()
206 tail = self.tail.load(Ordering::Relaxed); in push()
210 tail = self.tail.load(Ordering::Relaxed); in push()
273 let tail = self.tail.load(Ordering::Relaxed); in pop() localVariable
276 if tail == head { in pop()
320 let tail = self.tail.load(Ordering::SeqCst); in is_empty() localVariable
327 tail == head in is_empty()
344 let tail = self.tail.load(Ordering::SeqCst); in is_full() localVariable
351 head.wrapping_add(self.one_lap) == tail in is_full()
373 let tail = self.tail.load(Ordering::SeqCst); in len() localVariable
377 if self.tail.load(Ordering::SeqCst) == tail { in len()
379 let tix = tail & (self.one_lap - 1); in len()
385 } else if tail == head { in len()