00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #ifndef HPROF_TRACKER_H
00038 #define HPROF_TRACKER_H
00039
00040
00041
00042 #define OBJECT_CLASS_SIG "Ljava/lang/Object;"
00043 #define OBJECT_INIT_NAME "<init>"
00044 #define OBJECT_INIT_SIG "()V"
00045
00046 #define TRACKER_PACKAGE "com/sun/demo/jvmti/hprof"
00047 #define TRACKER_CLASS_NAME TRACKER_PACKAGE "/Tracker"
00048 #define TRACKER_CLASS_SIG "L" TRACKER_CLASS_NAME ";"
00049
00050 #define TRACKER_NEWARRAY_NAME "NewArray"
00051 #define TRACKER_NEWARRAY_SIG "(Ljava/lang/Object;)V"
00052 #define TRACKER_NEWARRAY_NATIVE_NAME "nativeNewArray"
00053 #define TRACKER_NEWARRAY_NATIVE_SIG "(Ljava/lang/Object;Ljava/lang/Object;)V"
00054
00055 #define TRACKER_OBJECT_INIT_NAME "ObjectInit"
00056 #define TRACKER_OBJECT_INIT_SIG "(Ljava/lang/Object;)V"
00057 #define TRACKER_OBJECT_INIT_NATIVE_NAME "nativeObjectInit"
00058 #define TRACKER_OBJECT_INIT_NATIVE_SIG "(Ljava/lang/Object;Ljava/lang/Object;)V"
00059
00060 #define TRACKER_CALL_NAME "CallSite"
00061 #define TRACKER_CALL_SIG "(II)V"
00062 #define TRACKER_CALL_NATIVE_NAME "nativeCallSite"
00063 #define TRACKER_CALL_NATIVE_SIG "(Ljava/lang/Object;II)V"
00064
00065
00066 #define TRACKER_RETURN_NAME "ReturnSite"
00067 #define TRACKER_RETURN_SIG "(II)V"
00068 #define TRACKER_RETURN_NATIVE_NAME "nativeReturnSite"
00069 #define TRACKER_RETURN_NATIVE_SIG "(Ljava/lang/Object;II)V"
00070
00071 #define TRACKER_ENGAGED_NAME "engaged"
00072 #define TRACKER_ENGAGED_SIG "I"
00073
00074 void tracker_setup_class(void);
00075 void tracker_setup_methods(JNIEnv *env);
00076 void tracker_engage(JNIEnv *env);
00077 void tracker_disengage(JNIEnv *env);
00078 jboolean tracker_method(jmethodID method);
00079
00080 #endif