< prev index next >

src/share/vm/runtime/safepoint.cpp

Print this page

        

@@ -51,10 +51,11 @@
 #include "runtime/synchronizer.hpp"
 #include "runtime/thread.inline.hpp"
 #include "services/runtimeService.hpp"
 #include "utilities/events.hpp"
 #include "utilities/macros.hpp"
+#include "evtrace/traceManager.hpp"
 #ifdef TARGET_ARCH_x86
 # include "nativeInst_x86.hpp"
 # include "vmreg_x86.inline.hpp"
 #endif
 #ifdef TARGET_ARCH_sparc

@@ -407,10 +408,15 @@
 // operation has been carried out
 void SafepointSynchronize::end() {
 
   assert(Threads_lock->owned_by_self(), "must hold Threads_lock");
   assert((_safepoint_counter & 0x1) == 1, "must be odd");
+
+  if (EnableEventTracing) {
+    TraceManager::do_work_before_safepoint_end();
+  }
+
   _safepoint_counter ++;
   // memory fence isn't required here since an odd _safepoint_counter
   // value can do no harm and a fence is issued below anyway.
 
   DEBUG_ONLY(Thread* myThread = Thread::current();)
< prev index next >