X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fprofiler-private.h;h=9bf9c7bb8319304e0f99daf2a6f4d5a569b8eac1;hb=a0e7914ef874d885773e51cd72be6ab9fa4190c0;hp=3885e42cbca7a32755e33fc022f16be86a627168;hpb=e51a9b6ba1a93bc981639a706c93bee413099fd6;p=mono.git diff --git a/mono/metadata/profiler-private.h b/mono/metadata/profiler-private.h index 3885e42cbca..9bf9c7bb831 100644 --- a/mono/metadata/profiler-private.h +++ b/mono/metadata/profiler-private.h @@ -3,6 +3,8 @@ #define __MONO_PROFILER_PRIVATE_H__ #include +#include "mono/utils/mono-compiler.h" +#include extern MonoProfileFlags mono_profiler_events; @@ -27,12 +29,24 @@ void mono_profiler_method_enter (MonoMethod *method); void mono_profiler_method_leave (MonoMethod *method); void mono_profiler_method_jit (MonoMethod *method); void mono_profiler_method_end_jit (MonoMethod *method, MonoJitInfo* jinfo, int result); +void mono_profiler_method_free (MonoMethod *method); +void mono_profiler_method_start_invoke (MonoMethod *method); +void mono_profiler_method_end_invoke (MonoMethod *method); void mono_profiler_code_transition (MonoMethod *method, int result); void mono_profiler_allocation (MonoObject *obj, MonoClass *klass); +void mono_profiler_monitor_event (MonoObject *obj, MonoProfilerMonitorEvent event); void mono_profiler_stat_hit (guchar *ip, void *context); +void mono_profiler_stat_call_chain (int call_chain_depth, guchar **ips, void *context); +int mono_profiler_stat_get_call_chain_depth (void); +MonoProfilerCallChainStrategy mono_profiler_stat_get_call_chain_strategy (void); void mono_profiler_thread_start (gsize tid); void mono_profiler_thread_end (gsize tid); +void mono_profiler_thread_name (gsize tid, const char *name); + +void mono_profiler_exception_thrown (MonoObject *exception); +void mono_profiler_exception_method_leave (MonoMethod *method); +void mono_profiler_exception_clause_handler (MonoMethod *method, int clause_type, int clause_num); void mono_profiler_assembly_event (MonoAssembly *assembly, int code); void mono_profiler_assembly_loaded (MonoAssembly *assembly, int result); @@ -46,11 +60,25 @@ void mono_profiler_class_loaded (MonoClass *klass, int result); void mono_profiler_appdomain_event (MonoDomain *domain, int code); void mono_profiler_appdomain_loaded (MonoDomain *domain, int result); +void mono_profiler_iomap (char *report, const char *pathname, const char *new_pathname); + MonoProfileCoverageInfo* mono_profiler_coverage_alloc (MonoMethod *method, int entries); void mono_profiler_coverage_free (MonoMethod *method); void mono_profiler_gc_event (MonoGCEvent e, int generation); void mono_profiler_gc_heap_resize (gint64 new_size); +void mono_profiler_gc_moves (void **objects, int num); +void mono_profiler_gc_handle (int op, int type, uintptr_t handle, MonoObject *obj); +void mono_profiler_gc_roots (int num, void **objects, int *root_types, uintptr_t *extra_info); + +void mono_profiler_code_chunk_new (gpointer chunk, int size); +void mono_profiler_code_chunk_destroy (gpointer chunk); +void mono_profiler_code_buffer_new (gpointer buffer, int size, MonoProfilerCodeBufferType type, gconstpointer data); + +void mono_profiler_runtime_initialized (void); + +int64_t mono_profiler_get_sampling_rate (void); +MonoProfileSamplingMode mono_profiler_get_sampling_mode (void); #endif /* __MONO_PROFILER_PRIVATE_H__ */