780 public: |
780 public: |
781 volatile intptr_t _Stalled; |
781 volatile intptr_t _Stalled; |
782 volatile int _TypeTag; |
782 volatile int _TypeTag; |
783 ParkEvent * _ParkEvent; // for synchronized() |
783 ParkEvent * _ParkEvent; // for synchronized() |
784 ParkEvent * _SleepEvent; // for Thread.sleep |
784 ParkEvent * _SleepEvent; // for Thread.sleep |
785 ParkEvent * _MutexEvent; // for native internal Mutex/Monitor |
|
786 ParkEvent * _MuxEvent; // for low-level muxAcquire-muxRelease |
785 ParkEvent * _MuxEvent; // for low-level muxAcquire-muxRelease |
787 int NativeSyncRecursion; // diagnostic |
786 int NativeSyncRecursion; // diagnostic |
788 |
787 |
789 volatile int _OnTrap; // Resume-at IP delta |
788 volatile int _OnTrap; // Resume-at IP delta |
790 jint _hashStateW; // Marsaglia Shift-XOR thread-local RNG |
789 jint _hashStateW; // Marsaglia Shift-XOR thread-local RNG |
791 jint _hashStateX; // thread-specific hashCode generator state |
790 jint _hashStateX; // thread-specific hashCode generator state |
792 jint _hashStateY; |
791 jint _hashStateY; |
793 jint _hashStateZ; |
792 jint _hashStateZ; |
794 |
|
795 volatile jint rng[4]; // RNG for spin loop |
|
796 |
793 |
797 // Low-level leaf-lock primitives used to implement synchronization |
794 // Low-level leaf-lock primitives used to implement synchronization |
798 // and native monitor-mutex infrastructure. |
795 // and native monitor-mutex infrastructure. |
799 // Not for general synchronization use. |
796 // Not for general synchronization use. |
800 static void SpinAcquire(volatile int * Lock, const char * Name); |
797 static void SpinAcquire(volatile int * Lock, const char * Name); |