10 writes to _state
System.Private.CoreLib (10)
src\libraries\System.Private.CoreLib\src\System\Threading\Lock.cs (10)
928
private State(uint state) =>
_state
= state;
939
_state
+= IsLockedMask;
949
_state
+= ShouldNotPreemptWaitersMask;
955
_state
-= ShouldNotPreemptWaitersMask;
974
_state
= newState;
983
_state
-= SpinnerCountIncrement;
993
_state
+= IsWaiterSignaledToWakeMask;
999
_state
-= IsWaiterSignaledToWakeMask;
1025
_state
= newState;
1034
_state
-= WaiterCountIncrement;
17 references to _state
System.Private.CoreLib (17)
src\libraries\System.Private.CoreLib\src\System\Threading\Lock.cs (17)
934
public bool IsLocked => (
_state
& IsLockedMask) != 0;
942
private bool ShouldNotPreemptWaiters => (
_state
& ShouldNotPreemptWaitersMask) != 0;
963
return (
_state
& (IsLockedMask | ShouldNotPreemptWaitersMask)) == 0;
967
private bool HasAnySpinners => (
_state
& SpinnerCountMask) != 0;
971
uint newState =
_state
+ SpinnerCountIncrement;
986
private bool IsWaiterSignaledToWake => (
_state
& IsWaiterSignaledToWakeMask) != 0;
1006
public bool UseTrivialWaits => (
_state
& UseTrivialWaitsMask) != 0;
1018
public bool HasAnyWaiters =>
_state
>= WaiterCountIncrement;
1022
uint newState =
_state
+ WaiterCountIncrement;
1042
return (
_state
& (SpinnerCountMask | IsWaiterSignaledToWakeMask)) == 0;
1046
public static bool operator ==(State state1, State state2) => state1.
_state
== state2.
_state
;
1051
public override int GetHashCode() => (int)
_state
;
1054
new State(Interlocked.CompareExchange(ref lockObj._state, toState.
_state
, fromState.
_state
));
1213
Debug.Assert(new State(state.
_state
+ SpinnerCountIncrement).HasAnySpinners);
1357
Debug.Assert(new State(state.
_state
+ IsWaiterSignaledToWakeMask).IsWaiterSignaledToWake);