equal
deleted
inserted
replaced
146 static Thread* _protected_thread; |
146 static Thread* _protected_thread; |
147 static ThreadCrashProtection* _crash_protection; |
147 static ThreadCrashProtection* _crash_protection; |
148 static volatile intptr_t _crash_mux; |
148 static volatile intptr_t _crash_mux; |
149 }; |
149 }; |
150 |
150 |
151 class PlatformEvent : public CHeapObj<mtInternal> { |
151 class PlatformEvent : public CHeapObj<mtSynchronizer> { |
152 private: |
152 private: |
153 double CachePad [4] ; // increase odds that _Event is sole occupant of cache line |
153 double CachePad [4] ; // increase odds that _Event is sole occupant of cache line |
154 volatile int _Event ; |
154 volatile int _Event ; |
155 HANDLE _ParkHandle ; |
155 HANDLE _ParkHandle ; |
156 |
156 |
172 int park (jlong millis) ; |
172 int park (jlong millis) ; |
173 } ; |
173 } ; |
174 |
174 |
175 |
175 |
176 |
176 |
177 class PlatformParker : public CHeapObj<mtInternal> { |
177 class PlatformParker : public CHeapObj<mtSynchronizer> { |
178 protected: |
178 protected: |
179 HANDLE _ParkEvent ; |
179 HANDLE _ParkEvent ; |
180 |
180 |
181 public: |
181 public: |
182 ~PlatformParker () { guarantee (0, "invariant") ; } |
182 ~PlatformParker () { guarantee (0, "invariant") ; } |
186 } |
186 } |
187 |
187 |
188 } ; |
188 } ; |
189 |
189 |
190 // Platform specific implementation that underpins VM Monitor/Mutex class |
190 // Platform specific implementation that underpins VM Monitor/Mutex class |
191 class PlatformMonitor : public CHeapObj<mtInternal> { |
191 class PlatformMonitor : public CHeapObj<mtSynchronizer> { |
192 private: |
192 private: |
193 CRITICAL_SECTION _mutex; // Native mutex for locking |
193 CRITICAL_SECTION _mutex; // Native mutex for locking |
194 CONDITION_VARIABLE _cond; // Native condition variable for blocking |
194 CONDITION_VARIABLE _cond; // Native condition variable for blocking |
195 |
195 |
196 public: |
196 public: |