25 references to StaticsInitializationStage
System.Private.CoreLib (25)
src\libraries\System.Private.CoreLib\src\System\Threading\Lock.cs (25)
739StaticsInitializationStage stage = (StaticsInitializationStage)Volatile.Read(ref s_staticsInitializationStage); 742case StaticsInitializationStage.Complete: 749case StaticsInitializationStage.Started: 764stage = (StaticsInitializationStage)Volatile.Read(ref s_staticsInitializationStage); 765if (stage == StaticsInitializationStage.Complete) 767goto case StaticsInitializationStage.Complete; 769else if (stage == StaticsInitializationStage.NotStarted) 784stage == StaticsInitializationStage.NotStarted || 785stage == StaticsInitializationStage.PartiallyComplete); 788goto case StaticsInitializationStage.Complete; 790goto case StaticsInitializationStage.Started; 799var oldStage = (StaticsInitializationStage)s_staticsInitializationStage; 802if (oldStage == StaticsInitializationStage.Complete) 807var stageBeforeUpdate = 808(StaticsInitializationStage)Interlocked.CompareExchange( 810(int)StaticsInitializationStage.Started, 812if (stageBeforeUpdate == StaticsInitializationStage.Started) 819oldStage == StaticsInitializationStage.NotStarted || 820oldStage == StaticsInitializationStage.PartiallyComplete); 830if (oldStage == StaticsInitializationStage.NotStarted) 850s_staticsInitializationStage = (int)StaticsInitializationStage.NotStarted; 857? (int)StaticsInitializationStage.Complete 858: (int)StaticsInitializationStage.PartiallyComplete);