Lines Matching refs:tail

120     tail: CachePadded<Position<T>>,  field
131 tail: CachePadded::new(Position { in new()
140 let mut tail = self.tail.index.load(Ordering::Acquire); in push() localVariable
141 let mut block = self.tail.block.load(Ordering::Acquire); in push()
146 if tail & MARK_BIT != 0 { in push()
151 let offset = (tail >> SHIFT) % LAP; in push()
156 tail = self.tail.index.load(Ordering::Acquire); in push()
157 block = self.tail.block.load(Ordering::Acquire); in push()
173 .tail in push()
182 tail = self.tail.index.load(Ordering::Acquire); in push()
183 block = self.tail.block.load(Ordering::Acquire); in push()
188 let new_tail = tail + (1 << SHIFT); in push()
191 match self.tail.index.compare_exchange_weak( in push()
192 tail, in push()
201 self.tail.block.store(next_block, Ordering::Release); in push()
202 self.tail.index.fetch_add(1 << SHIFT, Ordering::Release); in push()
213 tail = t; in push()
214 block = self.tail.block.load(Ordering::Acquire); in push()
241 let tail = self.tail.index.load(Ordering::Relaxed); in pop() localVariable
244 if head >> SHIFT == tail >> SHIFT { in pop()
246 if tail & MARK_BIT != 0 { in pop()
254 if (head >> SHIFT) / LAP != (tail >> SHIFT) / LAP { in pop()
314 let mut tail = self.tail.index.load(Ordering::SeqCst); in len() localVariable
318 if self.tail.index.load(Ordering::SeqCst) == tail { in len()
320 tail &= !((1 << SHIFT) - 1); in len()
324 if (tail >> SHIFT) & (LAP - 1) == LAP - 1 { in len()
325 tail = tail.wrapping_add(1 << SHIFT); in len()
333 tail = tail.wrapping_sub((lap * LAP) << SHIFT); in len()
337 tail >>= SHIFT; in len()
341 return tail - head - tail / LAP; in len()
349 let tail = self.tail.index.load(Ordering::SeqCst); in is_empty() localVariable
350 head >> SHIFT == tail >> SHIFT in is_empty()
362 let tail = self.tail.index.fetch_or(MARK_BIT, Ordering::SeqCst); in close() localVariable
363 tail & MARK_BIT == 0 in close()
368 self.tail.index.load(Ordering::SeqCst) & MARK_BIT != 0 in is_closed()
375 let mut tail = self.tail.index.load(Ordering::Relaxed); in drop() localVariable
380 tail &= !((1 << SHIFT) - 1); in drop()
384 while head != tail { in drop()