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);
|