< prev index next >

src/share/vm/runtime/thread.cpp

Print this page




1463 #endif // INCLUDE_JVMCI
1464   _reserved_stack_activation = NULL;  // stack base not known yet
1465   (void)const_cast<oop&>(_exception_oop = oop(NULL));
1466   _exception_pc  = 0;
1467   _exception_handler_pc = 0;
1468   _is_method_handle_return = 0;
1469   _jvmti_thread_state= NULL;
1470   _should_post_on_exceptions_flag = JNI_FALSE;
1471   _jvmti_get_loaded_classes_closure = NULL;
1472   _interp_only_mode    = 0;
1473   _special_runtime_exit_condition = _no_async_condition;
1474   _pending_async_exception = NULL;
1475   _thread_stat = NULL;
1476   _thread_stat = new ThreadStatistics();
1477   _blocked_on_compilation = false;
1478   _jni_active_critical = 0;
1479   _pending_jni_exception_check_fn = NULL;
1480   _do_not_unlock_if_synchronized = false;
1481   _cached_monitor_info = NULL;
1482   _parker = Parker::Allocate(this);

1483 
1484 #ifndef PRODUCT
1485   _jmp_ring_index = 0;
1486   for (int ji = 0; ji < jump_ring_buffer_size; ji++) {
1487     record_jump(NULL, NULL, NULL, 0);
1488   }
1489 #endif // PRODUCT
1490 
1491   set_thread_profiler(NULL);
1492   if (FlatProfiler::is_active()) {
1493     // This is where we would decide to either give each thread it's own profiler
1494     // or use one global one from FlatProfiler,
1495     // or up to some count of the number of profiled threads, etc.
1496     ThreadProfiler* pp = new ThreadProfiler();
1497     pp->engage();
1498     set_thread_profiler(pp);
1499   }
1500 
1501   // Setup safepoint state info for this thread
1502   ThreadSafepointState::create(this);




1463 #endif // INCLUDE_JVMCI
1464   _reserved_stack_activation = NULL;  // stack base not known yet
1465   (void)const_cast<oop&>(_exception_oop = oop(NULL));
1466   _exception_pc  = 0;
1467   _exception_handler_pc = 0;
1468   _is_method_handle_return = 0;
1469   _jvmti_thread_state= NULL;
1470   _should_post_on_exceptions_flag = JNI_FALSE;
1471   _jvmti_get_loaded_classes_closure = NULL;
1472   _interp_only_mode    = 0;
1473   _special_runtime_exit_condition = _no_async_condition;
1474   _pending_async_exception = NULL;
1475   _thread_stat = NULL;
1476   _thread_stat = new ThreadStatistics();
1477   _blocked_on_compilation = false;
1478   _jni_active_critical = 0;
1479   _pending_jni_exception_check_fn = NULL;
1480   _do_not_unlock_if_synchronized = false;
1481   _cached_monitor_info = NULL;
1482   _parker = Parker::Allocate(this);
1483   _bytes_until_sample = 0;
1484 
1485 #ifndef PRODUCT
1486   _jmp_ring_index = 0;
1487   for (int ji = 0; ji < jump_ring_buffer_size; ji++) {
1488     record_jump(NULL, NULL, NULL, 0);
1489   }
1490 #endif // PRODUCT
1491 
1492   set_thread_profiler(NULL);
1493   if (FlatProfiler::is_active()) {
1494     // This is where we would decide to either give each thread it's own profiler
1495     // or use one global one from FlatProfiler,
1496     // or up to some count of the number of profiled threads, etc.
1497     ThreadProfiler* pp = new ThreadProfiler();
1498     pp->engage();
1499     set_thread_profiler(pp);
1500   }
1501 
1502   // Setup safepoint state info for this thread
1503   ThreadSafepointState::create(this);


< prev index next >