< prev index next >

src/share/vm/runtime/thread.cpp

Print this page




1471 #endif // INCLUDE_JVMCI
1472   _reserved_stack_activation = NULL;  // stack base not known yet
1473   (void)const_cast<oop&>(_exception_oop = oop(NULL));
1474   _exception_pc  = 0;
1475   _exception_handler_pc = 0;
1476   _is_method_handle_return = 0;
1477   _jvmti_thread_state= NULL;
1478   _should_post_on_exceptions_flag = JNI_FALSE;
1479   _jvmti_get_loaded_classes_closure = NULL;
1480   _interp_only_mode    = 0;
1481   _special_runtime_exit_condition = _no_async_condition;
1482   _pending_async_exception = NULL;
1483   _thread_stat = NULL;
1484   _thread_stat = new ThreadStatistics();
1485   _blocked_on_compilation = false;
1486   _jni_active_critical = 0;
1487   _pending_jni_exception_check_fn = NULL;
1488   _do_not_unlock_if_synchronized = false;
1489   _cached_monitor_info = NULL;
1490   _parker = Parker::Allocate(this);

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




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


< prev index next >