16 writes to Tail
System.Private.CoreLib (16)
src\libraries\System.Private.CoreLib\src\System\Collections\Concurrent\ConcurrentQueue.cs (11)
267int headTail = Volatile.Read(ref head._headAndTail.Tail); 279headTail == Volatile.Read(ref head._headAndTail.Tail)) 289int tailTail = Volatile.Read(ref tail._headAndTail.Tail); 293headTail == Volatile.Read(ref head._headAndTail.Tail) && 295tailTail == Volatile.Read(ref tail._headAndTail.Tail)) 315int tailTail = Volatile.Read(ref tail._headAndTail.Tail); 317headTail == Volatile.Read(ref head._headAndTail.Tail) && 319tailTail == Volatile.Read(ref tail._headAndTail.Tail)) 379int headTail = (head == tail ? tailTail : Volatile.Read(ref head._headAndTail.Tail)) - head.FreezeOffset; 517tailTail = Volatile.Read(ref tail._headAndTail.Tail); 553int headTail = (head == tail ? tailTail : Volatile.Read(ref head._headAndTail.Tail)) - head.FreezeOffset;
src\libraries\System.Private.CoreLib\src\System\Collections\Concurrent\ConcurrentQueueSegment.cs (5)
102Interlocked.Add(ref _headAndTail.Tail, FreezeOffset); 167int currentTail = Volatile.Read(ref _headAndTail.Tail); 236int currentTail = Volatile.Read(ref _headAndTail.Tail); 274int currentTail = Volatile.Read(ref _headAndTail.Tail); 293if (Interlocked.CompareExchange(ref _headAndTail.Tail, currentTail + 1, currentTail) == currentTail)
3 references to Tail
System.Private.CoreLib (3)
src\libraries\System.Private.CoreLib\src\System\Collections\Concurrent\ConcurrentQueue.cs (3)
336count += s._headAndTail.Tail - s.FreezeOffset; 405count += s._headAndTail.Tail - s.FreezeOffset; 580int sTail = s._headAndTail.Tail - s.FreezeOffset;