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