DebugUtilsTI Class Reference

#include <jvmti_internal.h>

List of all members.

Public Types

enum  GlobalCapabilities {
  TI_GC_ENABLE_METHOD_ENTRY = 0x01, TI_GC_ENABLE_METHOD_EXIT = 0x02, TI_GC_ENABLE_FRAME_POP_NOTIFICATION = 0x04, TI_GC_ENABLE_SINGLE_STEP = 0x08,
  TI_GC_ENABLE_EXCEPTION_EVENT = 0x10, TI_GC_ENABLE_FIELD_ACCESS_EVENT = 0x20, TI_GC_ENABLE_FIELD_MODIFICATION_EVENT = 0x40, TI_GC_ENABLE_POP_FRAME = 0x80,
  TI_GC_ENABLE_TAG_OBJECTS = 0x100, TI_GC_ENABLE_MONITOR_EVENTS = 0x200
}

Public Member Functions

 DebugUtilsTI ()
 ~DebugUtilsTI ()
jint Init (JavaVM *vm)
void Shutdown (JavaVM *vm)
void setExecutionMode (Global_Env *p_env)
int getVersion (char *version)
void addAgent (const char *)
AgentgetAgents ()
void setAgents (Agent *agent)
bool isEnabled ()
void addEventSubscriber (jvmtiEvent event_type)
void removeEventSubscriber (jvmtiEvent event_type)
bool hasSubscribersForEvent (jvmtiEvent event_type)
bool shouldReportEvent (jvmtiEvent event_type)
void setEnabled ()
void setDisabled ()
bool needCreateEventThread ()
void enableEventThreadCreation ()
void disableEventThreadCreation ()
bool shouldReportLocally ()
void doNotReportLocally ()
void reportLocally ()
jvmtiPhase getPhase ()
void nextPhase (jvmtiPhase phase)
void addEnvironment (TIEnv *env)
void removeEnvironment (TIEnv *env)
TIEnvgetEnvironments (void)
void enumerate ()
Watch ** get_access_watch_list ()
Watch ** get_modification_watch_list ()
Watchfind_watch (Watch **p_watch_list, jfieldID f)
void add_watch (Watch **p_watch_list, Watch *w)
void remove_watch (Watch **p_watch_list, Watch *w)
void SetPendingNotifyLoadClass (Class *klass)
void SetPendingNotifyPrepareClass (Class *klass)
unsigned GetNumberPendingNotifyLoadClass ()
unsigned GetNumberPendingNotifyPrepareClass ()
ClassGetPendingNotifyLoadClass (unsigned number)
ClassGetPendingNotifyPrepareClass (unsigned number)
void ReleaseNotifyLists ()
void set_global_capability (GlobalCapabilities ti_gc)
void reset_global_capability (GlobalCapabilities ti_gc)
unsigned get_global_capability (GlobalCapabilities ti_gc)
bool is_single_step_enabled (void)
jvmtiError jvmti_single_step_start (void)
jvmtiError jvmti_single_step_stop (void)
bool is_cml_report_inlined ()
void set_cml_report_inlined (bool value)
char * get_method_entry_flag_address ()
char * get_method_exit_flag_address ()
char get_method_entry_flag ()
char get_method_exit_flag ()
void set_method_entry_flag (char value)
void set_method_exit_flag (char value)

Public Attributes

jint agent_counter
Lock_Manager TIenvs_lock
VMBreakPointsvm_brpt
hythread_tls_key_t TL_ti_report
vm_thread_t event_thread
hycond_t event_cond
int event_cond_initialized

Protected Attributes

Watchaccess_watch_list
Watchmodification_watch_list
bool status
bool need_create_event_thread
Agentagents
TIEnvp_TIenvs
jvmtiPhase phase
const unsigned MAX_NOTIFY_LIST
Class ** notifyLoadList
unsigned loadListNumber
Class ** notifyPrepareList
unsigned prepareListNumber
unsigned global_capabilities
bool single_step_enabled
bool cml_report_inlined
char method_entry_enabled_flag
char method_exit_enabled_flag
unsigned event_needed [TOTAL_EVENT_TYPE_NUM]

Friends

jint JNICALL create_jvmti_environment (JavaVM *vm, void **env, jint version)


Member Enumeration Documentation

enum DebugUtilsTI::GlobalCapabilities

Enumerator:
TI_GC_ENABLE_METHOD_ENTRY 
TI_GC_ENABLE_METHOD_EXIT 
TI_GC_ENABLE_FRAME_POP_NOTIFICATION 
TI_GC_ENABLE_SINGLE_STEP 
TI_GC_ENABLE_EXCEPTION_EVENT 
TI_GC_ENABLE_FIELD_ACCESS_EVENT 
TI_GC_ENABLE_FIELD_MODIFICATION_EVENT 
TI_GC_ENABLE_POP_FRAME 
TI_GC_ENABLE_TAG_OBJECTS 
TI_GC_ENABLE_MONITOR_EVENTS 


Constructor & Destructor Documentation

DebugUtilsTI.DebugUtilsTI (  ) 

DebugUtilsTI.~DebugUtilsTI (  ) 


Member Function Documentation

jint DebugUtilsTI.Init ( JavaVM vm  ) 

void DebugUtilsTI.Shutdown ( JavaVM vm  ) 

void DebugUtilsTI.setExecutionMode ( Global_Env p_env  ) 

int DebugUtilsTI.getVersion ( char *  version  ) 

void DebugUtilsTI.addAgent ( const char *   ) 

Agent* DebugUtilsTI.getAgents (  ) 

void DebugUtilsTI.setAgents ( Agent agent  ) 

bool DebugUtilsTI.isEnabled (  ) 

void DebugUtilsTI.addEventSubscriber ( jvmtiEvent  event_type  ) 

void DebugUtilsTI.removeEventSubscriber ( jvmtiEvent  event_type  ) 

bool DebugUtilsTI.hasSubscribersForEvent ( jvmtiEvent  event_type  ) 

bool DebugUtilsTI.shouldReportEvent ( jvmtiEvent  event_type  ) 

void DebugUtilsTI.setEnabled (  ) 

void DebugUtilsTI.setDisabled (  ) 

bool DebugUtilsTI.needCreateEventThread (  ) 

void DebugUtilsTI.enableEventThreadCreation (  ) 

void DebugUtilsTI.disableEventThreadCreation (  ) 

bool DebugUtilsTI.shouldReportLocally (  ) 

void DebugUtilsTI.doNotReportLocally (  ) 

void DebugUtilsTI.reportLocally (  ) 

jvmtiPhase DebugUtilsTI.getPhase (  ) 

void DebugUtilsTI.nextPhase ( jvmtiPhase  phase  ) 

void DebugUtilsTI.addEnvironment ( TIEnv env  ) 

void DebugUtilsTI.removeEnvironment ( TIEnv env  ) 

TIEnv* DebugUtilsTI.getEnvironments ( void   ) 

void DebugUtilsTI.enumerate (  ) 

Watch** DebugUtilsTI.get_access_watch_list (  ) 

Watch** DebugUtilsTI.get_modification_watch_list (  ) 

Watch* DebugUtilsTI.find_watch ( Watch **  p_watch_list,
jfieldID  f 
)

void DebugUtilsTI.add_watch ( Watch **  p_watch_list,
Watch w 
)

void DebugUtilsTI.remove_watch ( Watch **  p_watch_list,
Watch w 
)

void DebugUtilsTI.SetPendingNotifyLoadClass ( Class klass  ) 

void DebugUtilsTI.SetPendingNotifyPrepareClass ( Class klass  ) 

unsigned DebugUtilsTI.GetNumberPendingNotifyLoadClass (  ) 

unsigned DebugUtilsTI.GetNumberPendingNotifyPrepareClass (  ) 

Class* DebugUtilsTI.GetPendingNotifyLoadClass ( unsigned  number  ) 

Class* DebugUtilsTI.GetPendingNotifyPrepareClass ( unsigned  number  ) 

void DebugUtilsTI.ReleaseNotifyLists (  ) 

void DebugUtilsTI.set_global_capability ( GlobalCapabilities  ti_gc  ) 

void DebugUtilsTI.reset_global_capability ( GlobalCapabilities  ti_gc  ) 

unsigned DebugUtilsTI.get_global_capability ( GlobalCapabilities  ti_gc  ) 

bool DebugUtilsTI.is_single_step_enabled ( void   ) 

jvmtiError DebugUtilsTI.jvmti_single_step_start ( void   ) 

jvmtiError DebugUtilsTI.jvmti_single_step_stop ( void   ) 

bool DebugUtilsTI.is_cml_report_inlined (  ) 

void DebugUtilsTI.set_cml_report_inlined ( bool  value  ) 

char* DebugUtilsTI.get_method_entry_flag_address (  ) 

char* DebugUtilsTI.get_method_exit_flag_address (  ) 

char DebugUtilsTI.get_method_entry_flag (  ) 

char DebugUtilsTI.get_method_exit_flag (  ) 

void DebugUtilsTI.set_method_entry_flag ( char  value  ) 

void DebugUtilsTI.set_method_exit_flag ( char  value  ) 


Friends And Related Function Documentation

jint JNICALL create_jvmti_environment ( JavaVM vm,
void **  env,
jint  version 
) [friend]


Member Data Documentation

jint DebugUtilsTI.agent_counter

Lock_Manager DebugUtilsTI.TIenvs_lock

VMBreakPoints* DebugUtilsTI.vm_brpt

hythread_tls_key_t DebugUtilsTI.TL_ti_report

vm_thread_t DebugUtilsTI.event_thread

hycond_t DebugUtilsTI.event_cond

int DebugUtilsTI.event_cond_initialized

Watch* DebugUtilsTI.access_watch_list [protected]

Watch* DebugUtilsTI.modification_watch_list [protected]

bool DebugUtilsTI.status [protected]

bool DebugUtilsTI.need_create_event_thread [protected]

Agent* DebugUtilsTI.agents [protected]

TIEnv* DebugUtilsTI.p_TIenvs [protected]

jvmtiPhase DebugUtilsTI.phase [protected]

const unsigned DebugUtilsTI.MAX_NOTIFY_LIST [protected]

Class** DebugUtilsTI.notifyLoadList [protected]

unsigned DebugUtilsTI.loadListNumber [protected]

Class** DebugUtilsTI.notifyPrepareList [protected]

unsigned DebugUtilsTI.prepareListNumber [protected]

unsigned DebugUtilsTI.global_capabilities [protected]

bool DebugUtilsTI.single_step_enabled [protected]

bool DebugUtilsTI.cml_report_inlined [protected]

char DebugUtilsTI.method_entry_enabled_flag [protected]

char DebugUtilsTI.method_exit_enabled_flag [protected]

unsigned DebugUtilsTI.event_needed[TOTAL_EVENT_TYPE_NUM] [protected]


The documentation for this class was generated from the following file:

Genereated on Tue Mar 11 19:26:00 2008 by Doxygen.

(c) Copyright 2005, 2008 The Apache Software Foundation or its licensors, as applicable.