< prev index next >
src/share/vm/runtime/vmThread.cpp
Print this page
*** 23,34 ****
--- 23,36 ----
*/
#include "precompiled.hpp"
#include "compiler/compileBroker.hpp"
#include "gc_interface/collectedHeap.hpp"
+ #if INCLUDE_JFR
#include "jfr/jfrEvents.hpp"
#include "jfr/support/jfrThreadId.hpp"
+ #endif
#include "memory/resourceArea.hpp"
#include "oops/method.hpp"
#include "oops/oop.inline.hpp"
#include "runtime/interfaceSupport.hpp"
#include "runtime/mutexLocker.hpp"
*** 358,367 ****
--- 360,370 ----
st->print("\"%s\" ", name());
Thread::print_on(st);
st->cr();
}
+ #if INCLUDE_JFR
static void post_vm_operation_event(EventExecuteVMOperation* event, VM_Operation* op) {
assert(event != NULL, "invariant");
assert(event->should_commit(), "invariant");
assert(op != NULL, "invariant");
const bool is_concurrent = op->evaluate_concurrently();
*** 374,383 ****
--- 377,387 ----
// This is because the caller thread could have exited already.
event->set_caller(is_concurrent ? 0 : JFR_THREAD_ID(op->calling_thread()));
event->set_safepointId(evaluate_at_safepoint ? SafepointSynchronize::safepoint_counter() : 0);
event->commit();
}
+ #endif
void VMThread::evaluate_operation(VM_Operation* op) {
ResourceMark rm;
{
*** 389,403 ****
--- 393,411 ----
HOTSPOT_VMOPS_BEGIN(
(char *) op->name(), strlen(op->name()),
op->evaluation_mode());
#endif /* USDT2 */
+ #if INCLUDE_JFR
EventExecuteVMOperation event;
+ #endif
op->evaluate();
+ #if INCLUDE_JFR
if (event.should_commit()) {
post_vm_operation_event(&event, op);
}
+ #endif
#ifndef USDT2
HS_DTRACE_PROBE3(hotspot, vmops__end, op->name(), strlen(op->name()),
op->evaluation_mode());
#else /* USDT2 */
< prev index next >