< prev index next > src/hotspot/share/runtime/thread.cpp
Print this page
// If the main thread creates other threads before the barrier set that is an error.
assert(Thread::current_or_null() == nullptr, "creating thread before barrier set");
}
MACOS_AARCH64_ONLY(DEBUG_ONLY(_wx_init = false));
+
+ _profile_vm_locks = false;
+ _profile_vm_calls = false;
+ _profile_vm_ops = false;
+ _profile_rt_calls = false;
+ _profile_upcalls = false;
+
+ _all_bc_counter_value = 0;
+ _clinit_bc_counter_value = 0;
+
+ _current_rt_call_timer = nullptr;
}
#ifdef ASSERT
address Thread::stack_base() const {
// Note: can't report Thread::name() here as that can require a ResourceMark which we
// Conceptually we need a #loadstore|#storestore "release" MEMBAR before
// the ST of 0 into the lock-word which releases the lock, so fence
// more than covers this on all platforms.
*adr = 0;
}
+
+ const char* ProfileVMCallContext::name(PerfTraceTime* t) {
+ return t->name();
+ }
+
+ int ProfileVMCallContext::_perf_nested_runtime_calls_count = 0;
+
+ void ProfileVMCallContext::notify_nested_rt_call(PerfTraceTime* outer_timer, PerfTraceTime* inner_timer) {
+ log_debug(init)("Nested runtime call: inner=%s outer=%s", inner_timer->name(), outer_timer->name());
+ Atomic::inc(&ProfileVMCallContext::_perf_nested_runtime_calls_count);
+ }
+
< prev index next >