LLVM 22.0.0git
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

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 ITT_EXTERN_C, JITAPI, m_libHandle, and threadLocalStorageHandle.

◆ FinalizeThread()

void JITAPI FinalizeThread ( void )

Definition at line 419 of file jitprofiling.c.

References ITT_EXTERN_C, JITAPI, and threadLocalStorageHandle.

◆ iJIT_GetNewMethodID()

unsigned int JITAPI iJIT_GetNewMethodID ( void )

Definition at line 472 of file jitprofiling.c.

References ITT_EXTERN_C, and JITAPI.

◆ iJIT_IsProfilingActive()

iJIT_IsProfilingActiveFlags JITAPI iJIT_IsProfilingActive ( void )

Definition at line 261 of file jitprofiling.c.

References executionMode, iJIT_DLL_is_missing, ITT_EXTERN_C, JITAPI, and loadiJIT_Funcs().

◆ iJIT_NotifyEvent()

◆ 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().