mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 07:14:30 +02:00
8199712: Flight Recorder
Co-authored-by: Markus Gronlund <markus.gronlund@oracle.com> Reviewed-by: coleenp, ihse, erikj, dsamersoff, mseledtsov, egahlin, mgronlun
This commit is contained in:
parent
f575533a17
commit
a060be188d
1062 changed files with 119159 additions and 3164 deletions
|
@ -37,6 +37,7 @@
|
|||
#include "classfile/vmSymbols.hpp"
|
||||
#include "gc/shared/collectedHeap.inline.hpp"
|
||||
#include "interpreter/bytecode.hpp"
|
||||
#include "jfr/jfrEvents.hpp"
|
||||
#include "memory/oopFactory.hpp"
|
||||
#include "memory/referenceType.hpp"
|
||||
#include "memory/resourceArea.hpp"
|
||||
|
@ -75,7 +76,6 @@
|
|||
#include "services/attachListener.hpp"
|
||||
#include "services/management.hpp"
|
||||
#include "services/threadService.hpp"
|
||||
#include "trace/tracing.hpp"
|
||||
#include "utilities/copy.hpp"
|
||||
#include "utilities/defaultStream.hpp"
|
||||
#include "utilities/dtrace.hpp"
|
||||
|
@ -2983,6 +2983,12 @@ JVM_ENTRY(void, JVM_Yield(JNIEnv *env, jclass threadClass))
|
|||
os::naked_yield();
|
||||
JVM_END
|
||||
|
||||
static void post_thread_sleep_event(EventThreadSleep* event, jlong millis) {
|
||||
assert(event != NULL, "invariant");
|
||||
assert(event->should_commit(), "invariant");
|
||||
event->set_time(millis);
|
||||
event->commit();
|
||||
}
|
||||
|
||||
JVM_ENTRY(void, JVM_Sleep(JNIEnv* env, jclass threadClass, jlong millis))
|
||||
JVMWrapper("JVM_Sleep");
|
||||
|
@ -3000,7 +3006,6 @@ JVM_ENTRY(void, JVM_Sleep(JNIEnv* env, jclass threadClass, jlong millis))
|
|||
JavaThreadSleepState jtss(thread);
|
||||
|
||||
HOTSPOT_THREAD_SLEEP_BEGIN(millis);
|
||||
|
||||
EventThreadSleep event;
|
||||
|
||||
if (millis == 0) {
|
||||
|
@ -3013,8 +3018,7 @@ JVM_ENTRY(void, JVM_Sleep(JNIEnv* env, jclass threadClass, jlong millis))
|
|||
// us while we were sleeping. We do not overwrite those.
|
||||
if (!HAS_PENDING_EXCEPTION) {
|
||||
if (event.should_commit()) {
|
||||
event.set_time(millis);
|
||||
event.commit();
|
||||
post_thread_sleep_event(&event, millis);
|
||||
}
|
||||
HOTSPOT_THREAD_SLEEP_END(1);
|
||||
|
||||
|
@ -3026,8 +3030,7 @@ JVM_ENTRY(void, JVM_Sleep(JNIEnv* env, jclass threadClass, jlong millis))
|
|||
thread->osthread()->set_state(old_state);
|
||||
}
|
||||
if (event.should_commit()) {
|
||||
event.set_time(millis);
|
||||
event.commit();
|
||||
post_thread_sleep_event(&event, millis);
|
||||
}
|
||||
HOTSPOT_THREAD_SLEEP_END(0);
|
||||
JVM_END
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue