1472N/A * or visit www.oracle.com if you need additional information or have any
1879N/A#include "classfile/javaClasses.hpp"
1879N/A#include "runtime/handles.hpp"
1879N/A#include "runtime/jniHandles.hpp"
1879N/A#include "runtime/objectMonitor.hpp"
1879N/A#include "runtime/objectMonitor.inline.hpp"
1879N/A#include "runtime/perfData.hpp"
1879N/A#include "services/management.hpp"
1879N/A#include "services/serviceUtil.hpp"
0N/Aclass OopClosure;
0N/Aclass ThreadDumpResult;
0N/Aclass ThreadStackTrace;
0N/Aclass ThreadSnapshot;
0N/Aclass StackFrameInfo;
0N/Aclass ThreadConcurrentLocks;
0N/Aclass DeadlockCycle;
0N/A static bool is_thread_monitoring_contention() { return _thread_monitoring_contention_enabled; }
0N/A static jlong get_live_thread_count() { return _live_threads_count->get_value() - _exiting_threads_count; }
0N/A static jlong get_daemon_thread_count() { return _daemon_threads_count->get_value() - _exiting_daemon_threads_count; }
0N/A static void reset_peak_thread_count();
0N/A if (!_count_pending_reset) return;
0N/A _monitor_wait_count = 0;
0N/A _sleep_count = 0;
0N/A _count_pending_reset = 0;
0N/A if (!_timer_pending_reset) return;
0N/A _timer_pending_reset = 0;
0N/A jlong contended_enter_ticks() { return (_timer_pending_reset ? 0 : _contended_enter_timer.active_ticks()); }
0N/A jlong monitor_wait_ticks() { return (_timer_pending_reset ? 0 : _monitor_wait_timer.active_ticks()); }
0N/A ThreadSnapshot() : _thread(NULL), _threadObj(NULL), _stack_trace(NULL), _concurrent_locks(NULL), _next(NULL),
0N/A ~ThreadSnapshot();
0N/A ~ThreadStackTrace();
0N/A int num_jni_locked_monitors() { return (_jni_locked_monitors != NULL ? _jni_locked_monitors->length() : 0); }
0N/A ~StackFrameInfo() {
0N/A delete _locked_monitors;
0N/A int num_locked_monitors() { return (_locked_monitors != NULL ? _locked_monitors->length() : 0); }
0N/A ConcurrentLocksDump(bool retain_map_on_free) : _map(NULL), _last(NULL), _retain_map_on_free(retain_map_on_free) {};
0N/A void dump_at_safepoint();
0N/A ~ThreadDumpResult();
0N/A ~DeadlockCycle();
0N/A bool include_jvmti_agent_threads = false,
0N/A bool include_jni_attaching_threads = true);
0N/A if (is_alive() && ServiceUtil::visible_oop((oop)obj_m->object()) && obj_m->contentions() > 0) {
0N/A ~JavaThreadSleepState() {