LLVM API Documentation

Classes | Defines | Typedefs | Enumerations | Functions
jitprofiling.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _iJIT_Method_Id
struct  _iJIT_Method_NIDS
struct  _LineNumberInfo
struct  _iJIT_Method_Load

Defines

#define JITAPI   CDECL

Typedefs

typedef enum iJIT_jvm_event iJIT_JVM_EVENT
typedef enum _iJIT_ModeFlags iJIT_ModeFlags
typedef enum
_iJIT_IsProfilingActiveFlags 
iJIT_IsProfilingActiveFlags
typedef enum _iJDEnvironmentType iJDEnvironmentType
typedef struct _iJIT_Method_IdpiJIT_Method_Id
typedef struct _iJIT_Method_Id iJIT_Method_Id
typedef struct _iJIT_Method_NIDSpiJIT_Method_NIDS
typedef struct _iJIT_Method_NIDS iJIT_Method_NIDS
typedef struct _LineNumberInfopLineNumberInfo
typedef struct _LineNumberInfo LineNumberInfo
typedef struct _iJIT_Method_LoadpiJIT_Method_Load
typedef struct _iJIT_Method_Load iJIT_Method_Load
typedef void(* iJIT_ModeChangedEx )(void *UserData, iJIT_ModeFlags Flags)

Enumerations

enum  iJIT_jvm_event {
  iJVM_EVENT_TYPE_SHUTDOWN = 2, iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED = 13, iJVM_EVENT_TYPE_METHOD_UNLOAD_START, iJVM_EVENT_TYPE_ENTER_NIDS = 19,
  iJVM_EVENT_TYPE_LEAVE_NIDS
}
enum  _iJIT_ModeFlags {
  iJIT_NO_NOTIFICATIONS = 0x0000, iJIT_BE_NOTIFY_ON_LOAD = 0x0001, iJIT_BE_NOTIFY_ON_UNLOAD = 0x0002, iJIT_BE_NOTIFY_ON_METHOD_ENTRY = 0x0004,
  iJIT_BE_NOTIFY_ON_METHOD_EXIT = 0x0008
}
enum  _iJIT_IsProfilingActiveFlags { iJIT_NOTHING_RUNNING = 0x0000, iJIT_SAMPLING_ON = 0x0001, iJIT_CALLGRAPH_ON = 0x0002 }
enum  _iJDEnvironmentType { iJDE_JittingAPI = 2 }

Functions

int JITAPI iJIT_NotifyEvent (iJIT_JVM_EVENT event_type, void *EventSpecificData)
void JITAPI iJIT_RegisterCallbackEx (void *userdata, iJIT_ModeChangedEx NewModeCallBackFuncEx)
iJIT_IsProfilingActiveFlags JITAPI iJIT_IsProfilingActive (void)
void JITAPI FinalizeThread (void)
void JITAPI FinalizeProcess (void)
unsigned int JITAPI iJIT_GetNewMethodID (void)

Define Documentation

#define JITAPI   CDECL

Definition at line 236 of file jitprofiling.h.


Typedef Documentation

typedef void(* iJIT_ModeChangedEx)(void *UserData, iJIT_ModeFlags Flags)

Definition at line 239 of file jitprofiling.h.

typedef struct _iJIT_Method_Id * piJIT_Method_Id
typedef struct _LineNumberInfo * pLineNumberInfo

Enumeration Type Documentation

Enumerator:
iJDE_JittingAPI 

Definition at line 120 of file jitprofiling.h.

Enumerator:
iJIT_NOTHING_RUNNING 
iJIT_SAMPLING_ON 
iJIT_CALLGRAPH_ON 

Definition at line 104 of file jitprofiling.h.

Enumerator:
iJIT_NO_NOTIFICATIONS 
iJIT_BE_NOTIFY_ON_LOAD 
iJIT_BE_NOTIFY_ON_UNLOAD 
iJIT_BE_NOTIFY_ON_METHOD_ENTRY 
iJIT_BE_NOTIFY_ON_METHOD_EXIT 

Definition at line 66 of file jitprofiling.h.

Enumerator:
iJVM_EVENT_TYPE_SHUTDOWN 
iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED 
iJVM_EVENT_TYPE_METHOD_UNLOAD_START 
iJVM_EVENT_TYPE_ENTER_NIDS 
iJVM_EVENT_TYPE_LEAVE_NIDS 

Definition at line 27 of file jitprofiling.h.


Function Documentation

void JITAPI FinalizeProcess ( void  )

Definition at line 448 of file jitprofiling.c.

References m_libHandle, and threadLocalStorageHandle.

void JITAPI FinalizeThread ( void  )

Definition at line 420 of file jitprofiling.c.

References llvm::LibFunc::free, and threadLocalStorageHandle.

Definition at line 473 of file jitprofiling.c.

Definition at line 262 of file jitprofiling.c.

References executionMode, and loadiJIT_Funcs().

int JITAPI iJIT_NotifyEvent ( iJIT_JVM_EVENT  event_type,
void *  EventSpecificData 
)
void JITAPI iJIT_RegisterCallbackEx ( void *  userdata,
iJIT_ModeChangedEx  NewModeCallBackFuncEx 
)

Definition at line 244 of file jitprofiling.c.

References iJIT_NO_NOTIFICATIONS, and loadiJIT_Funcs().