hprof_tracker.c File Reference

#include "hprof.h"
Include dependency graph for hprof_tracker.c:

Go to the source code of this file.

Defines

#define BEGIN_TRACKER_CALLBACK()
#define END_TRACKER_CALLBACK()

Functions

static void JNICALL Tracker_nativeNewArray (JNIEnv *env, jclass clazz, jobject thread, jobject obj)
static void JNICALL Tracker_nativeObjectInit (JNIEnv *env, jclass clazz, jobject thread, jobject obj)
static void JNICALL Tracker_nativeCallSite (JNIEnv *env, jclass clazz, jobject thread, jint cnum, jint mnum)
static void JNICALL Tracker_nativeReturnSite (JNIEnv *env, jclass clazz, jobject thread, jint cnum, jint mnum)
static void set_engaged (JNIEnv *env, jint engaged)
void tracker_engage (JNIEnv *env)
void tracker_disengage (JNIEnv *env)
jboolean tracker_method (jmethodID method)
void tracker_setup_class (void)
void tracker_setup_methods (JNIEnv *env)

Variables

static JNINativeMethod registry [4]
struct {
   char *   name
   char *   sig
tracker_methods []

Define Documentation

 
#define BEGIN_TRACKER_CALLBACK (  ) 
Value:
{ /* BEGIN OF TRACKER_CALLBACK */                                       \
    jboolean bypass = JNI_TRUE;                                         \
    rawMonitorEnter(gdata->callbackLock); {                             \
        if ( gdata->tracking_engaged != 0 ) {       \
      if (!gdata->vm_death_callback_active) {                     \
    gdata->active_callbacks++;                              \
    bypass = JNI_FALSE;                                     \
      }                                                           \
  }                                                               \
    } rawMonitorExit(gdata->callbackLock);                              \
    if ( !bypass ) {                                                    \

Definition at line 77 of file hprof_tracker.c.

 
#define END_TRACKER_CALLBACK (  ) 
Value:
/* Part of bypass if body */             \
        rawMonitorEnter(gdata->callbackLock); {                         \
            gdata->active_callbacks--;                                  \
            if (gdata->active_callbacks < 0) {                          \
                HPROF_ERROR(JNI_TRUE, "Problems tracking callbacks");   \
            }                                                           \
            if (gdata->vm_death_callback_active) {                      \
                if (gdata->active_callbacks == 0) {                     \
                    rawMonitorNotifyAll(gdata->callbackLock);           \
                }                                                       \
            }                                                           \
        } rawMonitorExit(gdata->callbackLock);                          \
    }                                                                   \
}

Definition at line 91 of file hprof_tracker.c.


Function Documentation

static void set_engaged ( JNIEnv *  env,
jint  engaged 
) [static]

Definition at line 168 of file hprof_tracker.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void tracker_disengage ( JNIEnv *  env  ) 

Definition at line 204 of file hprof_tracker.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void tracker_engage ( JNIEnv *  env  ) 

Definition at line 198 of file hprof_tracker.c.

Here is the call graph for this function:

Here is the caller graph for this function:

jboolean tracker_method ( jmethodID  method  ) 

Definition at line 210 of file hprof_tracker.c.

Here is the caller graph for this function:

static void JNICALL Tracker_nativeCallSite ( JNIEnv *  env,
jclass  clazz,
jobject  thread,
jint  cnum,
jint  mnum 
) [static]

Definition at line 142 of file hprof_tracker.c.

Here is the call graph for this function:

static void JNICALL Tracker_nativeNewArray ( JNIEnv *  env,
jclass  clazz,
jobject  thread,
jobject  obj 
) [static]

Definition at line 114 of file hprof_tracker.c.

Here is the call graph for this function:

static void JNICALL Tracker_nativeObjectInit ( JNIEnv *  env,
jclass  clazz,
jobject  thread,
jobject  obj 
) [static]

Definition at line 128 of file hprof_tracker.c.

Here is the call graph for this function:

static void JNICALL Tracker_nativeReturnSite ( JNIEnv *  env,
jclass  clazz,
jobject  thread,
jint  cnum,
jint  mnum 
) [static]

Definition at line 156 of file hprof_tracker.c.

Here is the call graph for this function:

void tracker_setup_class ( void   ) 

Definition at line 257 of file hprof_tracker.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void tracker_setup_methods ( JNIEnv *  env  ) 

Definition at line 271 of file hprof_tracker.c.

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

char* name

Definition at line 242 of file hprof_tracker.c.

JNINativeMethod registry[4] [static]
char* sig

Definition at line 243 of file hprof_tracker.c.

struct { ... } tracker_methods[] [static]

Generated on 19 Nov 2012 for hprof by  doxygen 1.6.1