LLVM 19.0.0git
Classes | Macros | Typedefs | Enumerations | Functions
jitprofiling.h File Reference

Go to the source code of this file.

Classes

struct  _iJIT_Method_Id
 
struct  _iJIT_Method_NIDS
 
struct  _LineNumberInfo
 
struct  _iJIT_Method_Load
 

Macros

#define CDECL   __attribute__ ((cdecl))
 
#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)
 

Macro Definition Documentation

◆ CDECL

#define CDECL   __attribute__ ((cdecl))

Definition at line 230 of file jitprofiling.h.

◆ JITAPI

#define JITAPI   CDECL

Definition at line 235 of file jitprofiling.h.

Typedef Documentation

◆ iJDEnvironmentType

◆ iJIT_IsProfilingActiveFlags

◆ iJIT_JVM_EVENT

◆ iJIT_Method_Id

◆ iJIT_Method_Load

◆ iJIT_Method_NIDS

◆ iJIT_ModeChangedEx

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

Definition at line 238 of file jitprofiling.h.

◆ iJIT_ModeFlags

◆ LineNumberInfo

◆ piJIT_Method_Id

typedef struct _iJIT_Method_Id * piJIT_Method_Id

◆ piJIT_Method_Load

◆ piJIT_Method_NIDS

◆ pLineNumberInfo

typedef struct _LineNumberInfo * pLineNumberInfo

Enumeration Type Documentation

◆ _iJDEnvironmentType

Enumerator
iJDE_JittingAPI 

Definition at line 119 of file jitprofiling.h.

◆ _iJIT_IsProfilingActiveFlags

Enumerator
iJIT_NOTHING_RUNNING 
iJIT_SAMPLING_ON 
iJIT_CALLGRAPH_ON 

Definition at line 103 of file jitprofiling.h.

◆ _iJIT_ModeFlags

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 65 of file jitprofiling.h.

◆ iJIT_jvm_event

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 26 of file jitprofiling.h.

Function Documentation

◆ FinalizeProcess()

void JITAPI FinalizeProcess ( void  )

Definition at line 447 of file jitprofiling.c.

References m_libHandle, and threadLocalStorageHandle.

◆ FinalizeThread()

void JITAPI FinalizeThread ( void  )

Definition at line 419 of file jitprofiling.c.

References threadLocalStorageHandle.

◆ iJIT_GetNewMethodID()

unsigned int JITAPI iJIT_GetNewMethodID ( void  )

Definition at line 472 of file jitprofiling.c.

◆ iJIT_IsProfilingActive()

iJIT_IsProfilingActiveFlags JITAPI iJIT_IsProfilingActive ( void  )

Definition at line 261 of file jitprofiling.c.

References executionMode, iJIT_DLL_is_missing, and loadiJIT_Funcs().

◆ iJIT_NotifyEvent()

int JITAPI iJIT_NotifyEvent ( iJIT_JVM_EVENT  event_type,
void *  EventSpecificData 
)

◆ iJIT_RegisterCallbackEx()

void JITAPI iJIT_RegisterCallbackEx ( void *  userdata,
iJIT_ModeChangedEx  NewModeCallBackFuncEx 
)

Definition at line 243 of file jitprofiling.c.

References iJIT_DLL_is_missing, iJIT_NO_NOTIFICATIONS, and loadiJIT_Funcs().