Lines Matching refs:tail
62 tail: CachePadded<AtomicUsize>, field
97 let tail = 0; in new() localVariable
119 tail: CachePadded::new(AtomicUsize::new(tail)), in new()
139 let mut tail = self.tail.load(Ordering::Relaxed); in push() localVariable
143 let index = tail & (self.one_lap - 1); in push()
144 let lap = tail & !(self.one_lap - 1); in push()
152 if tail == stamp { in push()
156 tail + 1 in push()
164 match self.tail.compare_exchange_weak( in push()
165 tail, in push()
175 slot.stamp.store(tail + 1, Ordering::Release); in push()
179 tail = t; in push()
183 } else if stamp.wrapping_add(self.one_lap) == tail + 1 { in push()
188 if head.wrapping_add(self.one_lap) == tail { in push()
194 tail = self.tail.load(Ordering::Relaxed); in push()
198 tail = self.tail.load(Ordering::Relaxed); in push()
265 let tail = self.tail.load(Ordering::Relaxed); in pop() localVariable
268 if tail == head { in pop()
312 let tail = self.tail.load(Ordering::SeqCst); in is_empty() localVariable
319 tail == head in is_empty()
336 let tail = self.tail.load(Ordering::SeqCst); in is_full() localVariable
343 head.wrapping_add(self.one_lap) == tail in is_full()
365 let tail = self.tail.load(Ordering::SeqCst); in len() localVariable
369 if self.tail.load(Ordering::SeqCst) == tail { in len()
371 let tix = tail & (self.one_lap - 1); in len()
377 } else if tail == head { in len()
438 if value.head.get_mut() != value.tail.get_mut() { in next()