Lines Matching refs:tail
73 tail: CachePadded<AtomicUsize>, field
111 let tail = 0; in new() localVariable
138 tail: CachePadded::new(AtomicUsize::new(tail)), in new()
159 let mut tail = self.tail.load(Ordering::Relaxed); in push() localVariable
163 let index = tail & (self.one_lap - 1); in push()
164 let lap = tail & !(self.one_lap - 1); in push()
171 if tail == stamp { in push()
175 tail + 1 in push()
183 match self.tail.compare_exchange_weak( in push()
184 tail, in push()
194 slot.stamp.store(tail + 1, Ordering::Release); in push()
198 tail = t; in push()
202 } else if stamp.wrapping_add(self.one_lap) == tail + 1 { in push()
207 if head.wrapping_add(self.one_lap) == tail { in push()
213 tail = self.tail.load(Ordering::Relaxed); in push()
217 tail = self.tail.load(Ordering::Relaxed); in push()
283 let tail = self.tail.load(Ordering::Relaxed); in pop() localVariable
286 if tail == head { in pop()
330 let tail = self.tail.load(Ordering::SeqCst); in is_empty() localVariable
337 tail == head in is_empty()
354 let tail = self.tail.load(Ordering::SeqCst); in is_full() localVariable
361 head.wrapping_add(self.one_lap) == tail in is_full()
383 let tail = self.tail.load(Ordering::SeqCst); in len() localVariable
387 if self.tail.load(Ordering::SeqCst) == tail { in len()
389 let tix = tail & (self.one_lap - 1); in len()
395 } else if tail == head { in len()