8143226: Minor updates to Event Based tracing

Reviewed-by: jbachorik, egahlin
This commit is contained in:
Markus Grönlund 2016-03-01 23:46:09 +01:00
parent 12d9b13eee
commit 0e44e963d2
34 changed files with 211 additions and 321 deletions

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -401,7 +401,7 @@ void NOINLINE ObjectMonitor::enter(TRAPS) {
if (event.should_commit()) {
event.set_klass(((oop)this->object())->klass());
event.set_previousOwner((TYPE_JAVALANGTHREAD)_previous_owner_tid);
event.set_previousOwner((TYPE_THREAD)_previous_owner_tid);
event.set_address((TYPE_ADDRESS)(uintptr_t)(this->object_addr()));
event.commit();
}
@ -937,7 +937,7 @@ void NOINLINE ObjectMonitor::exit(bool not_suspended, TRAPS) {
// get the owner's thread id for the MonitorEnter event
// if it is enabled and the thread isn't suspended
if (not_suspended && Tracing::is_event_enabled(TraceJavaMonitorEnterEvent)) {
_previous_owner_tid = SharedRuntime::get_java_tid(Self);
_previous_owner_tid = THREAD_TRACE_ID(Self);
}
#endif
@ -1391,11 +1391,12 @@ void ObjectMonitor::post_monitor_wait_event(EventJavaMonitorWait* event,
jlong notifier_tid,
jlong timeout,
bool timedout) {
assert(event != NULL, "invariant");
event->set_klass(((oop)this->object())->klass());
event->set_timeout((TYPE_ULONG)timeout);
event->set_address((TYPE_ADDRESS)(uintptr_t)(this->object_addr()));
event->set_notifier((TYPE_OSTHREAD)notifier_tid);
event->set_timedOut((TYPE_BOOLEAN)timedout);
event->set_timeout(timeout);
event->set_address((TYPE_ADDRESS)this->object_addr());
event->set_notifier(notifier_tid);
event->set_timedOut(timedout);
event->commit();
}
@ -1655,7 +1656,7 @@ void ObjectMonitor::INotify(Thread * Self) {
iterator->TState = ObjectWaiter::TS_ENTER;
}
iterator->_notified = 1;
iterator->_notifier_tid = Self->osthread()->thread_id();
iterator->_notifier_tid = THREAD_TRACE_ID(Self);
ObjectWaiter * list = _EntryList;
if (list != NULL) {