257 _vm_operation_started_count = 0;
258 _vm_operation_completed_count = 0;
259 _current_pending_monitor = NULL;
260 _current_pending_monitor_is_from_java = true;
261 _current_waiting_monitor = NULL;
262 _num_nested_signal = 0;
263 omFreeList = NULL;
264 omFreeCount = 0;
265 omFreeProvision = 32;
266 omInUseList = NULL;
267 omInUseCount = 0;
268
269 #ifdef ASSERT
270 _visited_for_critical_count = false;
271 #endif
272
273 _SR_lock = new Monitor(Mutex::suspend_resume, "SR_lock", true,
274 Monitor::_safepoint_check_sometimes);
275 _suspend_flags = 0;
276
277 // thread-specific hashCode stream generator state - Marsaglia shift-xor form
278 _hashStateX = os::random();
279 _hashStateY = 842502087;
280 _hashStateZ = 0x8767; // (int)(3579807591LL & 0xffff) ;
281 _hashStateW = 273326509;
282
283 _OnTrap = 0;
284 _schedctl = NULL;
285 _Stalled = 0;
286 _TypeTag = 0x2BAD;
287
288 // Many of the following fields are effectively final - immutable
289 // Note that nascent threads can't use the Native Monitor-Mutex
290 // construct until the _MutexEvent is initialized ...
291 // CONSIDER: instead of using a fixed set of purpose-dedicated ParkEvents
292 // we might instead use a stack of ParkEvents that we could provision on-demand.
293 // The stack would act as a cache to avoid calls to ParkEvent::Allocate()
294 // and ::Release()
295 _ParkEvent = ParkEvent::Allocate(this);
|
257 _vm_operation_started_count = 0;
258 _vm_operation_completed_count = 0;
259 _current_pending_monitor = NULL;
260 _current_pending_monitor_is_from_java = true;
261 _current_waiting_monitor = NULL;
262 _num_nested_signal = 0;
263 omFreeList = NULL;
264 omFreeCount = 0;
265 omFreeProvision = 32;
266 omInUseList = NULL;
267 omInUseCount = 0;
268
269 #ifdef ASSERT
270 _visited_for_critical_count = false;
271 #endif
272
273 _SR_lock = new Monitor(Mutex::suspend_resume, "SR_lock", true,
274 Monitor::_safepoint_check_sometimes);
275 _suspend_flags = 0;
276
277 _behaviour_provider = NULL;
278
279 // thread-specific hashCode stream generator state - Marsaglia shift-xor form
280 _hashStateX = os::random();
281 _hashStateY = 842502087;
282 _hashStateZ = 0x8767; // (int)(3579807591LL & 0xffff) ;
283 _hashStateW = 273326509;
284
285 _OnTrap = 0;
286 _schedctl = NULL;
287 _Stalled = 0;
288 _TypeTag = 0x2BAD;
289
290 // Many of the following fields are effectively final - immutable
291 // Note that nascent threads can't use the Native Monitor-Mutex
292 // construct until the _MutexEvent is initialized ...
293 // CONSIDER: instead of using a fixed set of purpose-dedicated ParkEvents
294 // we might instead use a stack of ParkEvents that we could provision on-demand.
295 // The stack would act as a cache to avoid calls to ParkEvent::Allocate()
296 // and ::Release()
297 _ParkEvent = ParkEvent::Allocate(this);
|