Lines Matching refs:tail
71 tail: CachePadded<AtomicUsize>, field
109 let tail = 0; in new() localVariable
136 tail: CachePadded::new(AtomicUsize::new(tail)), in new()
157 let mut tail = self.tail.load(Ordering::Relaxed); in push() localVariable
161 let index = tail & (self.one_lap - 1); in push()
162 let lap = tail & !(self.one_lap - 1); in push()
169 if tail == stamp { in push()
173 tail + 1 in push()
181 match self.tail.compare_exchange_weak( in push()
182 tail, in push()
192 slot.stamp.store(tail + 1, Ordering::Release); in push()
196 tail = t; in push()
200 } else if stamp.wrapping_add(self.one_lap) == tail + 1 { in push()
205 if head.wrapping_add(self.one_lap) == tail { in push()
211 tail = self.tail.load(Ordering::Relaxed); in push()
215 tail = self.tail.load(Ordering::Relaxed); in push()
281 let tail = self.tail.load(Ordering::Relaxed); in pop() localVariable
284 if tail == head { in pop()
328 let tail = self.tail.load(Ordering::SeqCst); in is_empty() localVariable
335 tail == head in is_empty()
352 let tail = self.tail.load(Ordering::SeqCst); in is_full() localVariable
359 head.wrapping_add(self.one_lap) == tail in is_full()
381 let tail = self.tail.load(Ordering::SeqCst); in len() localVariable
385 if self.tail.load(Ordering::SeqCst) == tail { in len()
387 let tix = tail & (self.one_lap - 1); in len()
393 } else if tail == head { in len()