Mercurial > hg > graal-jvmci-8
comparison src/share/vm/prims/unsafe.cpp @ 1324:e392695de029
6935224: Adding new DTrace probes to work with Palantir
Summary: Adding probes related to thread scheduling and class initialization
Reviewed-by: kamg, never
author | fparain |
---|---|
date | Wed, 17 Mar 2010 11:01:05 +0100 |
parents | df6caf649ff7 |
children | c18cbe5936b8 |
comparison
equal
deleted
inserted
replaced
1323:cd20a6f46fec | 1324:e392695de029 |
---|---|
26 * Implementation of class sun.misc.Unsafe | 26 * Implementation of class sun.misc.Unsafe |
27 */ | 27 */ |
28 | 28 |
29 #include "incls/_precompiled.incl" | 29 #include "incls/_precompiled.incl" |
30 #include "incls/_unsafe.cpp.incl" | 30 #include "incls/_unsafe.cpp.incl" |
31 | |
32 HS_DTRACE_PROBE_DECL3(hotspot, thread__park__begin, uintptr_t, int, long long); | |
33 HS_DTRACE_PROBE_DECL1(hotspot, thread__park__end, uintptr_t); | |
34 HS_DTRACE_PROBE_DECL1(hotspot, thread__unpark, uintptr_t); | |
31 | 35 |
32 #define MAX_OBJECT_SIZE \ | 36 #define MAX_OBJECT_SIZE \ |
33 ( arrayOopDesc::header_size(T_DOUBLE) * HeapWordSize \ | 37 ( arrayOopDesc::header_size(T_DOUBLE) * HeapWordSize \ |
34 + ((julong)max_jint * sizeof(double)) ) | 38 + ((julong)max_jint * sizeof(double)) ) |
35 | 39 |
1081 } | 1085 } |
1082 UNSAFE_END | 1086 UNSAFE_END |
1083 | 1087 |
1084 UNSAFE_ENTRY(void, Unsafe_Park(JNIEnv *env, jobject unsafe, jboolean isAbsolute, jlong time)) | 1088 UNSAFE_ENTRY(void, Unsafe_Park(JNIEnv *env, jobject unsafe, jboolean isAbsolute, jlong time)) |
1085 UnsafeWrapper("Unsafe_Park"); | 1089 UnsafeWrapper("Unsafe_Park"); |
1090 HS_DTRACE_PROBE3(hotspot, thread__park__begin, thread->parker(), (int) isAbsolute, time); | |
1086 JavaThreadParkedState jtps(thread, time != 0); | 1091 JavaThreadParkedState jtps(thread, time != 0); |
1087 thread->parker()->park(isAbsolute != 0, time); | 1092 thread->parker()->park(isAbsolute != 0, time); |
1093 HS_DTRACE_PROBE1(hotspot, thread__park__end, thread->parker()); | |
1088 UNSAFE_END | 1094 UNSAFE_END |
1089 | 1095 |
1090 UNSAFE_ENTRY(void, Unsafe_Unpark(JNIEnv *env, jobject unsafe, jobject jthread)) | 1096 UNSAFE_ENTRY(void, Unsafe_Unpark(JNIEnv *env, jobject unsafe, jobject jthread)) |
1091 UnsafeWrapper("Unsafe_Unpark"); | 1097 UnsafeWrapper("Unsafe_Unpark"); |
1092 Parker* p = NULL; | 1098 Parker* p = NULL; |
1114 } | 1120 } |
1115 } | 1121 } |
1116 } | 1122 } |
1117 } | 1123 } |
1118 if (p != NULL) { | 1124 if (p != NULL) { |
1125 HS_DTRACE_PROBE1(hotspot, thread__unpark, p); | |
1119 p->unpark(); | 1126 p->unpark(); |
1120 } | 1127 } |
1121 UNSAFE_END | 1128 UNSAFE_END |
1122 | 1129 |
1123 UNSAFE_ENTRY(jint, Unsafe_Loadavg(JNIEnv *env, jobject unsafe, jdoubleArray loadavg, jint nelem)) | 1130 UNSAFE_ENTRY(jint, Unsafe_Loadavg(JNIEnv *env, jobject unsafe, jdoubleArray loadavg, jint nelem)) |