diff --git a/src/share/vm/runtime/thread.cpp b/src/share/vm/runtime/thread.cpp index 18b46c988e3107077c5df4d1523a17a3ef4e22f5..eab949297b3074ac47111c0744c6262019b08c8d 100644 --- a/src/share/vm/runtime/thread.cpp +++ b/src/share/vm/runtime/thread.cpp @@ -333,6 +333,8 @@ Thread::~Thread() { // Reclaim the objectmonitors from the omFreeList of the moribund thread. ObjectSynchronizer::omFlush (this) ; + EVENT_THREAD_DESTRUCT(this); + // stack_base can be NULL if the thread is never started or exited before // record_stack_base_and_size called. Although, we would like to ensure // that all started threads do call record_stack_base_and_size(), there is diff --git a/src/share/vm/trace/traceMacros.hpp b/src/share/vm/trace/traceMacros.hpp index 1a6dd644935d9e1f70113b392d1a436d79efb0b8..4776e13507eacba90a3fb382ba35404f292e282d 100644 --- a/src/share/vm/trace/traceMacros.hpp +++ b/src/share/vm/trace/traceMacros.hpp @@ -26,6 +26,7 @@ #define SHARE_VM_TRACE_TRACE_MACRO_HPP #define EVENT_THREAD_EXIT(thread) +#define EVENT_THREAD_DESTRUCT(thread) #define TRACE_INIT_ID(k) #define TRACE_DATA TraceThreadData