equal
deleted
inserted
replaced
30 #include "classfile/systemDictionary.hpp" |
30 #include "classfile/systemDictionary.hpp" |
31 #include "code/codeCache.hpp" |
31 #include "code/codeCache.hpp" |
32 #include "compiler/compileBroker.hpp" |
32 #include "compiler/compileBroker.hpp" |
33 #include "compiler/compilerOracle.hpp" |
33 #include "compiler/compilerOracle.hpp" |
34 #include "interpreter/bytecodeHistogram.hpp" |
34 #include "interpreter/bytecodeHistogram.hpp" |
|
35 #include "jfr/support/jfrThreadId.hpp" |
35 #if INCLUDE_JVMCI |
36 #if INCLUDE_JVMCI |
36 #include "jvmci/jvmciCompiler.hpp" |
37 #include "jvmci/jvmciCompiler.hpp" |
37 #include "jvmci/jvmciRuntime.hpp" |
38 #include "jvmci/jvmciRuntime.hpp" |
38 #endif |
39 #endif |
39 #include "logging/log.hpp" |
40 #include "logging/log.hpp" |
65 #include "runtime/task.hpp" |
66 #include "runtime/task.hpp" |
66 #include "runtime/thread.inline.hpp" |
67 #include "runtime/thread.inline.hpp" |
67 #include "runtime/timer.hpp" |
68 #include "runtime/timer.hpp" |
68 #include "runtime/vm_operations.hpp" |
69 #include "runtime/vm_operations.hpp" |
69 #include "services/memTracker.hpp" |
70 #include "services/memTracker.hpp" |
70 #include "trace/traceMacros.hpp" |
|
71 #include "trace/tracing.hpp" |
|
72 #include "utilities/dtrace.hpp" |
71 #include "utilities/dtrace.hpp" |
73 #include "utilities/globalDefinitions.hpp" |
72 #include "utilities/globalDefinitions.hpp" |
74 #include "utilities/histogram.hpp" |
73 #include "utilities/histogram.hpp" |
75 #include "utilities/macros.hpp" |
74 #include "utilities/macros.hpp" |
76 #include "utilities/vmError.hpp" |
75 #include "utilities/vmError.hpp" |
82 #include "code/compiledIC.hpp" |
81 #include "code/compiledIC.hpp" |
83 #include "compiler/methodLiveness.hpp" |
82 #include "compiler/methodLiveness.hpp" |
84 #include "opto/compile.hpp" |
83 #include "opto/compile.hpp" |
85 #include "opto/indexSet.hpp" |
84 #include "opto/indexSet.hpp" |
86 #include "opto/runtime.hpp" |
85 #include "opto/runtime.hpp" |
|
86 #endif |
|
87 #if INCLUDE_JFR |
|
88 #include "jfr/jfr.hpp" |
87 #endif |
89 #endif |
88 |
90 |
89 GrowableArray<Method*>* collected_profiled_methods; |
91 GrowableArray<Method*>* collected_profiled_methods; |
90 |
92 |
91 int compare_methods(Method** a, Method** b) { |
93 int compare_methods(Method** a, Method** b) { |
462 os::infinite_sleep(); |
464 os::infinite_sleep(); |
463 } |
465 } |
464 |
466 |
465 EventThreadEnd event; |
467 EventThreadEnd event; |
466 if (event.should_commit()) { |
468 if (event.should_commit()) { |
467 event.set_thread(THREAD_TRACE_ID(thread)); |
469 event.set_thread(JFR_THREAD_ID(thread)); |
468 event.commit(); |
470 event.commit(); |
469 } |
471 } |
470 |
472 |
471 TRACE_VM_EXIT(); |
473 JFR_ONLY(Jfr::on_vm_shutdown();) |
472 |
474 |
473 // Stop the WatcherThread. We do this before disenrolling various |
475 // Stop the WatcherThread. We do this before disenrolling various |
474 // PeriodicTasks to reduce the likelihood of races. |
476 // PeriodicTasks to reduce the likelihood of races. |
475 if (PeriodicTask::num_tasks() > 0) { |
477 if (PeriodicTask::num_tasks() > 0) { |
476 WatcherThread::stop(); |
478 WatcherThread::stop(); |