X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fprofiler-private.h;h=f85da9bb219df4bb13685cd4ff268e2758a2f53f;hb=65b615bb75265748486f42c21c02e5ff4e8eed6b;hp=3885e42cbca7a32755e33fc022f16be86a627168;hpb=dbf19eb41dbd299c4c33d4de35ffe3cf6c669832;p=mono.git diff --git a/mono/metadata/profiler-private.h b/mono/metadata/profiler-private.h index 3885e42cbca..f85da9bb219 100644 --- a/mono/metadata/profiler-private.h +++ b/mono/metadata/profiler-private.h @@ -3,6 +3,7 @@ #define __MONO_PROFILER_PRIVATE_H__ #include +#include "mono/utils/mono-compiler.h" extern MonoProfileFlags mono_profiler_events; @@ -21,36 +22,46 @@ typedef struct { } data [1]; } MonoProfileCoverageInfo; -void mono_profiler_shutdown (void); +void mono_profiler_shutdown (void) MONO_INTERNAL; -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_enter (MonoMethod *method) MONO_INTERNAL; +void mono_profiler_method_leave (MonoMethod *method) MONO_INTERNAL; +void mono_profiler_method_jit (MonoMethod *method) MONO_INTERNAL; +void mono_profiler_method_end_jit (MonoMethod *method, MonoJitInfo* jinfo, int result) MONO_INTERNAL; +void mono_profiler_method_free (MonoMethod *method) MONO_INTERNAL; -void mono_profiler_code_transition (MonoMethod *method, int result); -void mono_profiler_allocation (MonoObject *obj, MonoClass *klass); -void mono_profiler_stat_hit (guchar *ip, void *context); -void mono_profiler_thread_start (gsize tid); -void mono_profiler_thread_end (gsize tid); +void mono_profiler_code_transition (MonoMethod *method, int result) MONO_INTERNAL; +void mono_profiler_allocation (MonoObject *obj, MonoClass *klass) MONO_INTERNAL; +void mono_profiler_stat_hit (guchar *ip, void *context) MONO_INTERNAL; +void mono_profiler_stat_call_chain (int call_chain_depth, guchar **ips, void *context) MONO_INTERNAL; +#define MONO_PROFILER_MAX_STAT_CALL_CHAIN_DEPTH 16 +int mono_profiler_stat_get_call_chain_depth (void) MONO_INTERNAL; +void mono_profiler_thread_start (gsize tid) MONO_INTERNAL; +void mono_profiler_thread_end (gsize tid) MONO_INTERNAL; -void mono_profiler_assembly_event (MonoAssembly *assembly, int code); -void mono_profiler_assembly_loaded (MonoAssembly *assembly, int result); +void mono_profiler_exception_thrown (MonoObject *exception) MONO_INTERNAL; +void mono_profiler_exception_method_leave (MonoMethod *method) MONO_INTERNAL; +void mono_profiler_exception_clause_handler (MonoMethod *method, int clause_type, int clause_num) MONO_INTERNAL; -void mono_profiler_module_event (MonoImage *image, int code); -void mono_profiler_module_loaded (MonoImage *image, int result); +void mono_profiler_assembly_event (MonoAssembly *assembly, int code) MONO_INTERNAL; +void mono_profiler_assembly_loaded (MonoAssembly *assembly, int result) MONO_INTERNAL; -void mono_profiler_class_event (MonoClass *klass, int code); -void mono_profiler_class_loaded (MonoClass *klass, int result); +void mono_profiler_module_event (MonoImage *image, int code) MONO_INTERNAL; +void mono_profiler_module_loaded (MonoImage *image, int result) MONO_INTERNAL; -void mono_profiler_appdomain_event (MonoDomain *domain, int code); -void mono_profiler_appdomain_loaded (MonoDomain *domain, int result); +void mono_profiler_class_event (MonoClass *klass, int code) MONO_INTERNAL; +void mono_profiler_class_loaded (MonoClass *klass, int result) MONO_INTERNAL; -MonoProfileCoverageInfo* mono_profiler_coverage_alloc (MonoMethod *method, int entries); -void mono_profiler_coverage_free (MonoMethod *method); +void mono_profiler_appdomain_event (MonoDomain *domain, int code) MONO_INTERNAL; +void mono_profiler_appdomain_loaded (MonoDomain *domain, int result) MONO_INTERNAL; -void mono_profiler_gc_event (MonoGCEvent e, int generation); -void mono_profiler_gc_heap_resize (gint64 new_size); +MonoProfileCoverageInfo* mono_profiler_coverage_alloc (MonoMethod *method, int entries) MONO_INTERNAL; +void mono_profiler_coverage_free (MonoMethod *method) MONO_INTERNAL; + +void mono_profiler_gc_event (MonoGCEvent e, int generation) MONO_INTERNAL; +void mono_profiler_gc_heap_resize (gint64 new_size) MONO_INTERNAL; + +void mono_profiler_runtime_initialized (void) MONO_INTERNAL; #endif /* __MONO_PROFILER_PRIVATE_H__ */