213 NOT_PRODUCT(_allow_safepoint_count = 0;)
214 NOT_PRODUCT(_skip_gcalot = false;)
215 _jvmti_env_iteration_count = 0;
216 set_allocated_bytes(0);
217 _vm_operation_started_count = 0;
218 _vm_operation_completed_count = 0;
219 _current_pending_monitor = NULL;
220 _current_pending_monitor_is_from_java = true;
221 _current_waiting_monitor = NULL;
222 _num_nested_signal = 0;
223 omFreeList = NULL;
224 omFreeCount = 0;
225 omFreeProvision = 32;
226 omInUseList = NULL;
227 omInUseCount = 0;
228
229 #ifdef ASSERT
230 _visited_for_critical_count = false;
231 #endif
232
233 _SR_lock = new Monitor(Mutex::suspend_resume, "SR_lock", true);
234 _suspend_flags = 0;
235
236 // thread-specific hashCode stream generator state - Marsaglia shift-xor form
237 _hashStateX = os::random();
238 _hashStateY = 842502087;
239 _hashStateZ = 0x8767; // (int)(3579807591LL & 0xffff) ;
240 _hashStateW = 273326509;
241
242 _OnTrap = 0;
243 _schedctl = NULL;
244 _Stalled = 0;
245 _TypeTag = 0x2BAD;
246
247 // Many of the following fields are effectively final - immutable
248 // Note that nascent threads can't use the Native Monitor-Mutex
249 // construct until the _MutexEvent is initialized ...
250 // CONSIDER: instead of using a fixed set of purpose-dedicated ParkEvents
251 // we might instead use a stack of ParkEvents that we could provision on-demand.
252 // The stack would act as a cache to avoid calls to ParkEvent::Allocate()
253 // and ::Release()
|
213 NOT_PRODUCT(_allow_safepoint_count = 0;)
214 NOT_PRODUCT(_skip_gcalot = false;)
215 _jvmti_env_iteration_count = 0;
216 set_allocated_bytes(0);
217 _vm_operation_started_count = 0;
218 _vm_operation_completed_count = 0;
219 _current_pending_monitor = NULL;
220 _current_pending_monitor_is_from_java = true;
221 _current_waiting_monitor = NULL;
222 _num_nested_signal = 0;
223 omFreeList = NULL;
224 omFreeCount = 0;
225 omFreeProvision = 32;
226 omInUseList = NULL;
227 omInUseCount = 0;
228
229 #ifdef ASSERT
230 _visited_for_critical_count = false;
231 #endif
232
233 _SR_lock = new Monitor(Mutex::suspend_resume, "SR_lock", true,
234 Monitor::_safepoint_check_sometimes);
235 _suspend_flags = 0;
236
237 // thread-specific hashCode stream generator state - Marsaglia shift-xor form
238 _hashStateX = os::random();
239 _hashStateY = 842502087;
240 _hashStateZ = 0x8767; // (int)(3579807591LL & 0xffff) ;
241 _hashStateW = 273326509;
242
243 _OnTrap = 0;
244 _schedctl = NULL;
245 _Stalled = 0;
246 _TypeTag = 0x2BAD;
247
248 // Many of the following fields are effectively final - immutable
249 // Note that nascent threads can't use the Native Monitor-Mutex
250 // construct until the _MutexEvent is initialized ...
251 // CONSIDER: instead of using a fixed set of purpose-dedicated ParkEvents
252 // we might instead use a stack of ParkEvents that we could provision on-demand.
253 // The stack would act as a cache to avoid calls to ParkEvent::Allocate()
254 // and ::Release()
|