mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 06:14:49 +02:00
8029726: On OS X some dtrace probe names are mismatched with Solaris
8029727: On OS X dtrace probes Call<type>MethodA/Call<type>MethodV are not fired 8029728: On OS X dtrace probes SetStaticBooleanField are not fired Reviewed-by: kamg, dsamersoff
This commit is contained in:
parent
f72107ae20
commit
b91fa108bf
4 changed files with 43 additions and 43 deletions
|
@ -47,8 +47,8 @@ provider hotspot {
|
||||||
probe mem__pool__gc__end(
|
probe mem__pool__gc__end(
|
||||||
char*, uintptr_t, char*, uintptr_t,
|
char*, uintptr_t, char*, uintptr_t,
|
||||||
uintptr_t, uintptr_t, uintptr_t, uintptr_t);
|
uintptr_t, uintptr_t, uintptr_t, uintptr_t);
|
||||||
probe thread__probe__start(char*, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
|
probe thread__start(char*, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
|
||||||
probe thread__probe__stop(char*, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
|
probe thread__stop(char*, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
|
||||||
probe thread__sleep__begin(long long);
|
probe thread__sleep__begin(long long);
|
||||||
probe thread__sleep__end(int);
|
probe thread__sleep__end(int);
|
||||||
probe thread__yield();
|
probe thread__yield();
|
||||||
|
@ -68,7 +68,7 @@ provider hotspot {
|
||||||
probe monitor__contended__entered(uintptr_t, uintptr_t, char*, uintptr_t);
|
probe monitor__contended__entered(uintptr_t, uintptr_t, char*, uintptr_t);
|
||||||
probe monitor__contended__exit(uintptr_t, uintptr_t, char*, uintptr_t);
|
probe monitor__contended__exit(uintptr_t, uintptr_t, char*, uintptr_t);
|
||||||
probe monitor__wait(uintptr_t, uintptr_t, char*, uintptr_t, uintptr_t);
|
probe monitor__wait(uintptr_t, uintptr_t, char*, uintptr_t, uintptr_t);
|
||||||
probe monitor__probe__waited(uintptr_t, uintptr_t, char*, uintptr_t);
|
probe monitor__waited(uintptr_t, uintptr_t, char*, uintptr_t);
|
||||||
probe monitor__notify(uintptr_t, uintptr_t, char*, uintptr_t);
|
probe monitor__notify(uintptr_t, uintptr_t, char*, uintptr_t);
|
||||||
probe monitor__notifyAll(uintptr_t, uintptr_t, char*, uintptr_t);
|
probe monitor__notifyAll(uintptr_t, uintptr_t, char*, uintptr_t);
|
||||||
|
|
||||||
|
|
|
@ -1804,34 +1804,34 @@ JNI_END
|
||||||
|
|
||||||
// the runtime type of subword integral basic types is integer
|
// the runtime type of subword integral basic types is integer
|
||||||
DEFINE_CALLMETHODV(jboolean, Boolean, T_BOOLEAN
|
DEFINE_CALLMETHODV(jboolean, Boolean, T_BOOLEAN
|
||||||
, HOTSPOT_JNI_CALLBOOLEANMETHOD_ENTRY(env, obj, (uintptr_t)methodID),
|
, HOTSPOT_JNI_CALLBOOLEANMETHODV_ENTRY(env, obj, (uintptr_t)methodID),
|
||||||
HOTSPOT_JNI_CALLBOOLEANMETHOD_RETURN(_ret_ref))
|
HOTSPOT_JNI_CALLBOOLEANMETHODV_RETURN(_ret_ref))
|
||||||
DEFINE_CALLMETHODV(jbyte, Byte, T_BYTE
|
DEFINE_CALLMETHODV(jbyte, Byte, T_BYTE
|
||||||
, HOTSPOT_JNI_CALLBYTEMETHOD_ENTRY(env, obj, (uintptr_t)methodID),
|
, HOTSPOT_JNI_CALLBYTEMETHODV_ENTRY(env, obj, (uintptr_t)methodID),
|
||||||
HOTSPOT_JNI_CALLBYTEMETHOD_RETURN(_ret_ref))
|
HOTSPOT_JNI_CALLBYTEMETHODV_RETURN(_ret_ref))
|
||||||
DEFINE_CALLMETHODV(jchar, Char, T_CHAR
|
DEFINE_CALLMETHODV(jchar, Char, T_CHAR
|
||||||
, HOTSPOT_JNI_CALLCHARMETHOD_ENTRY(env, obj, (uintptr_t)methodID),
|
, HOTSPOT_JNI_CALLCHARMETHODV_ENTRY(env, obj, (uintptr_t)methodID),
|
||||||
HOTSPOT_JNI_CALLCHARMETHOD_RETURN(_ret_ref))
|
HOTSPOT_JNI_CALLCHARMETHODV_RETURN(_ret_ref))
|
||||||
DEFINE_CALLMETHODV(jshort, Short, T_SHORT
|
DEFINE_CALLMETHODV(jshort, Short, T_SHORT
|
||||||
, HOTSPOT_JNI_CALLSHORTMETHOD_ENTRY(env, obj, (uintptr_t)methodID),
|
, HOTSPOT_JNI_CALLSHORTMETHODV_ENTRY(env, obj, (uintptr_t)methodID),
|
||||||
HOTSPOT_JNI_CALLSHORTMETHOD_RETURN(_ret_ref))
|
HOTSPOT_JNI_CALLSHORTMETHODV_RETURN(_ret_ref))
|
||||||
|
|
||||||
DEFINE_CALLMETHODV(jobject, Object, T_OBJECT
|
DEFINE_CALLMETHODV(jobject, Object, T_OBJECT
|
||||||
, HOTSPOT_JNI_CALLOBJECTMETHOD_ENTRY(env, obj, (uintptr_t)methodID),
|
, HOTSPOT_JNI_CALLOBJECTMETHODV_ENTRY(env, obj, (uintptr_t)methodID),
|
||||||
HOTSPOT_JNI_CALLOBJECTMETHOD_RETURN(_ret_ref))
|
HOTSPOT_JNI_CALLOBJECTMETHODV_RETURN(_ret_ref))
|
||||||
DEFINE_CALLMETHODV(jint, Int, T_INT,
|
DEFINE_CALLMETHODV(jint, Int, T_INT,
|
||||||
HOTSPOT_JNI_CALLINTMETHOD_ENTRY(env, obj, (uintptr_t)methodID),
|
HOTSPOT_JNI_CALLINTMETHODV_ENTRY(env, obj, (uintptr_t)methodID),
|
||||||
HOTSPOT_JNI_CALLINTMETHOD_RETURN(_ret_ref))
|
HOTSPOT_JNI_CALLINTMETHODV_RETURN(_ret_ref))
|
||||||
DEFINE_CALLMETHODV(jlong, Long, T_LONG
|
DEFINE_CALLMETHODV(jlong, Long, T_LONG
|
||||||
, HOTSPOT_JNI_CALLLONGMETHOD_ENTRY(env, obj, (uintptr_t)methodID),
|
, HOTSPOT_JNI_CALLLONGMETHODV_ENTRY(env, obj, (uintptr_t)methodID),
|
||||||
HOTSPOT_JNI_CALLLONGMETHOD_RETURN(_ret_ref))
|
HOTSPOT_JNI_CALLLONGMETHODV_RETURN(_ret_ref))
|
||||||
// Float and double probes don't return value because dtrace doesn't currently support it
|
// Float and double probes don't return value because dtrace doesn't currently support it
|
||||||
DEFINE_CALLMETHODV(jfloat, Float, T_FLOAT
|
DEFINE_CALLMETHODV(jfloat, Float, T_FLOAT
|
||||||
, HOTSPOT_JNI_CALLFLOATMETHOD_ENTRY(env, obj, (uintptr_t)methodID),
|
, HOTSPOT_JNI_CALLFLOATMETHODV_ENTRY(env, obj, (uintptr_t)methodID),
|
||||||
HOTSPOT_JNI_CALLFLOATMETHOD_RETURN())
|
HOTSPOT_JNI_CALLFLOATMETHODV_RETURN())
|
||||||
DEFINE_CALLMETHODV(jdouble, Double, T_DOUBLE
|
DEFINE_CALLMETHODV(jdouble, Double, T_DOUBLE
|
||||||
, HOTSPOT_JNI_CALLDOUBLEMETHOD_ENTRY(env, obj, (uintptr_t)methodID),
|
, HOTSPOT_JNI_CALLDOUBLEMETHODV_ENTRY(env, obj, (uintptr_t)methodID),
|
||||||
HOTSPOT_JNI_CALLDOUBLEMETHOD_RETURN())
|
HOTSPOT_JNI_CALLDOUBLEMETHODV_RETURN())
|
||||||
|
|
||||||
#define DEFINE_CALLMETHODA(ResultType, Result, Tag \
|
#define DEFINE_CALLMETHODA(ResultType, Result, Tag \
|
||||||
, EntryProbe, ReturnProbe) \
|
, EntryProbe, ReturnProbe) \
|
||||||
|
@ -1856,34 +1856,34 @@ JNI_END
|
||||||
|
|
||||||
// the runtime type of subword integral basic types is integer
|
// the runtime type of subword integral basic types is integer
|
||||||
DEFINE_CALLMETHODA(jboolean, Boolean, T_BOOLEAN
|
DEFINE_CALLMETHODA(jboolean, Boolean, T_BOOLEAN
|
||||||
, HOTSPOT_JNI_CALLBOOLEANMETHOD_ENTRY(env, obj, (uintptr_t)methodID),
|
, HOTSPOT_JNI_CALLBOOLEANMETHODA_ENTRY(env, obj, (uintptr_t)methodID),
|
||||||
HOTSPOT_JNI_CALLBOOLEANMETHOD_RETURN(_ret_ref))
|
HOTSPOT_JNI_CALLBOOLEANMETHODA_RETURN(_ret_ref))
|
||||||
DEFINE_CALLMETHODA(jbyte, Byte, T_BYTE
|
DEFINE_CALLMETHODA(jbyte, Byte, T_BYTE
|
||||||
, HOTSPOT_JNI_CALLBYTEMETHOD_ENTRY(env, obj, (uintptr_t)methodID),
|
, HOTSPOT_JNI_CALLBYTEMETHODA_ENTRY(env, obj, (uintptr_t)methodID),
|
||||||
HOTSPOT_JNI_CALLBYTEMETHOD_RETURN(_ret_ref))
|
HOTSPOT_JNI_CALLBYTEMETHODA_RETURN(_ret_ref))
|
||||||
DEFINE_CALLMETHODA(jchar, Char, T_CHAR
|
DEFINE_CALLMETHODA(jchar, Char, T_CHAR
|
||||||
, HOTSPOT_JNI_CALLCHARMETHOD_ENTRY(env, obj, (uintptr_t)methodID),
|
, HOTSPOT_JNI_CALLCHARMETHODA_ENTRY(env, obj, (uintptr_t)methodID),
|
||||||
HOTSPOT_JNI_CALLCHARMETHOD_RETURN(_ret_ref))
|
HOTSPOT_JNI_CALLCHARMETHODA_RETURN(_ret_ref))
|
||||||
DEFINE_CALLMETHODA(jshort, Short, T_SHORT
|
DEFINE_CALLMETHODA(jshort, Short, T_SHORT
|
||||||
, HOTSPOT_JNI_CALLSHORTMETHOD_ENTRY(env, obj, (uintptr_t)methodID),
|
, HOTSPOT_JNI_CALLSHORTMETHODA_ENTRY(env, obj, (uintptr_t)methodID),
|
||||||
HOTSPOT_JNI_CALLSHORTMETHOD_RETURN(_ret_ref))
|
HOTSPOT_JNI_CALLSHORTMETHODA_RETURN(_ret_ref))
|
||||||
|
|
||||||
DEFINE_CALLMETHODA(jobject, Object, T_OBJECT
|
DEFINE_CALLMETHODA(jobject, Object, T_OBJECT
|
||||||
, HOTSPOT_JNI_CALLOBJECTMETHOD_ENTRY(env, obj, (uintptr_t)methodID),
|
, HOTSPOT_JNI_CALLOBJECTMETHODA_ENTRY(env, obj, (uintptr_t)methodID),
|
||||||
HOTSPOT_JNI_CALLOBJECTMETHOD_RETURN(_ret_ref))
|
HOTSPOT_JNI_CALLOBJECTMETHODA_RETURN(_ret_ref))
|
||||||
DEFINE_CALLMETHODA(jint, Int, T_INT,
|
DEFINE_CALLMETHODA(jint, Int, T_INT,
|
||||||
HOTSPOT_JNI_CALLINTMETHOD_ENTRY(env, obj, (uintptr_t)methodID),
|
HOTSPOT_JNI_CALLINTMETHODA_ENTRY(env, obj, (uintptr_t)methodID),
|
||||||
HOTSPOT_JNI_CALLINTMETHOD_RETURN(_ret_ref))
|
HOTSPOT_JNI_CALLINTMETHODA_RETURN(_ret_ref))
|
||||||
DEFINE_CALLMETHODA(jlong, Long, T_LONG
|
DEFINE_CALLMETHODA(jlong, Long, T_LONG
|
||||||
, HOTSPOT_JNI_CALLLONGMETHOD_ENTRY(env, obj, (uintptr_t)methodID),
|
, HOTSPOT_JNI_CALLLONGMETHODA_ENTRY(env, obj, (uintptr_t)methodID),
|
||||||
HOTSPOT_JNI_CALLLONGMETHOD_RETURN(_ret_ref))
|
HOTSPOT_JNI_CALLLONGMETHODA_RETURN(_ret_ref))
|
||||||
// Float and double probes don't return value because dtrace doesn't currently support it
|
// Float and double probes don't return value because dtrace doesn't currently support it
|
||||||
DEFINE_CALLMETHODA(jfloat, Float, T_FLOAT
|
DEFINE_CALLMETHODA(jfloat, Float, T_FLOAT
|
||||||
, HOTSPOT_JNI_CALLFLOATMETHOD_ENTRY(env, obj, (uintptr_t)methodID),
|
, HOTSPOT_JNI_CALLFLOATMETHODA_ENTRY(env, obj, (uintptr_t)methodID),
|
||||||
HOTSPOT_JNI_CALLFLOATMETHOD_RETURN())
|
HOTSPOT_JNI_CALLFLOATMETHODA_RETURN())
|
||||||
DEFINE_CALLMETHODA(jdouble, Double, T_DOUBLE
|
DEFINE_CALLMETHODA(jdouble, Double, T_DOUBLE
|
||||||
, HOTSPOT_JNI_CALLDOUBLEMETHOD_ENTRY(env, obj, (uintptr_t)methodID),
|
, HOTSPOT_JNI_CALLDOUBLEMETHODA_ENTRY(env, obj, (uintptr_t)methodID),
|
||||||
HOTSPOT_JNI_CALLDOUBLEMETHOD_RETURN())
|
HOTSPOT_JNI_CALLDOUBLEMETHODA_RETURN())
|
||||||
|
|
||||||
DT_VOID_RETURN_MARK_DECL(CallVoidMethod, HOTSPOT_JNI_CALLVOIDMETHOD_RETURN());
|
DT_VOID_RETURN_MARK_DECL(CallVoidMethod, HOTSPOT_JNI_CALLVOIDMETHOD_RETURN());
|
||||||
DT_VOID_RETURN_MARK_DECL(CallVoidMethodV, HOTSPOT_JNI_CALLVOIDMETHODV_RETURN());
|
DT_VOID_RETURN_MARK_DECL(CallVoidMethodV, HOTSPOT_JNI_CALLVOIDMETHODV_RETURN());
|
||||||
|
@ -3145,7 +3145,7 @@ JNI_ENTRY(void, jni_SetStatic##Result##Field(JNIEnv *env, jclass clazz, jfieldID
|
||||||
JNI_END
|
JNI_END
|
||||||
|
|
||||||
DEFINE_SETSTATICFIELD(jboolean, bool, Boolean, 'Z', z
|
DEFINE_SETSTATICFIELD(jboolean, bool, Boolean, 'Z', z
|
||||||
, HOTSPOT_JNI_SETBOOLEANFIELD_ENTRY(env, clazz, (uintptr_t)fieldID, value),
|
, HOTSPOT_JNI_SETSTATICBOOLEANFIELD_ENTRY(env, clazz, (uintptr_t)fieldID, value),
|
||||||
HOTSPOT_JNI_SETBOOLEANFIELD_RETURN())
|
HOTSPOT_JNI_SETBOOLEANFIELD_RETURN())
|
||||||
DEFINE_SETSTATICFIELD(jbyte, byte, Byte, 'B', b
|
DEFINE_SETSTATICFIELD(jbyte, byte, Byte, 'B', b
|
||||||
, HOTSPOT_JNI_SETSTATICBYTEFIELD_ENTRY(env, clazz, (uintptr_t) fieldID, value),
|
, HOTSPOT_JNI_SETSTATICBYTEFIELD_ENTRY(env, clazz, (uintptr_t) fieldID, value),
|
||||||
|
|
|
@ -119,7 +119,7 @@ HS_DTRACE_PROBE_DECL4(hotspot, monitor__waited,
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define HOTSPOT_MONITOR_PROBE_waited HOTSPOT_MONITOR_PROBE_WAITED
|
#define HOTSPOT_MONITOR_PROBE_waited HOTSPOT_MONITOR_WAITED
|
||||||
|
|
||||||
#define DTRACE_MONITOR_PROBE(probe, monitor, obj, thread) \
|
#define DTRACE_MONITOR_PROBE(probe, monitor, obj, thread) \
|
||||||
{ \
|
{ \
|
||||||
|
|
|
@ -135,8 +135,8 @@ HS_DTRACE_PROBE_DECL5(hotspot, thread__stop, char*, intptr_t,
|
||||||
|
|
||||||
#else /* USDT2 */
|
#else /* USDT2 */
|
||||||
|
|
||||||
#define HOTSPOT_THREAD_PROBE_start HOTSPOT_THREAD_PROBE_START
|
#define HOTSPOT_THREAD_PROBE_start HOTSPOT_THREAD_START
|
||||||
#define HOTSPOT_THREAD_PROBE_stop HOTSPOT_THREAD_PROBE_STOP
|
#define HOTSPOT_THREAD_PROBE_stop HOTSPOT_THREAD_STOP
|
||||||
|
|
||||||
#define DTRACE_THREAD_PROBE(probe, javathread) \
|
#define DTRACE_THREAD_PROBE(probe, javathread) \
|
||||||
{ \
|
{ \
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue