< 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 >