2 #ifndef __MONO_PROFILER_PRIVATE_H__
3 #define __MONO_PROFILER_PRIVATE_H__
5 #include <mono/metadata/profiler.h>
6 #include "mono/utils/mono-compiler.h"
8 extern MonoProfileFlags mono_profiler_events;
11 MONO_PROFILE_START_LOAD,
12 MONO_PROFILE_END_LOAD,
13 MONO_PROFILE_START_UNLOAD,
14 MONO_PROFILE_END_UNLOAD
23 } MonoProfileCoverageInfo;
25 void mono_profiler_shutdown (void) MONO_INTERNAL;
27 void mono_profiler_method_enter (MonoMethod *method) MONO_INTERNAL;
28 void mono_profiler_method_leave (MonoMethod *method) MONO_INTERNAL;
29 void mono_profiler_method_jit (MonoMethod *method) MONO_INTERNAL;
30 void mono_profiler_method_end_jit (MonoMethod *method, MonoJitInfo* jinfo, int result) MONO_INTERNAL;
32 void mono_profiler_code_transition (MonoMethod *method, int result) MONO_INTERNAL;
33 void mono_profiler_allocation (MonoObject *obj, MonoClass *klass) MONO_INTERNAL;
34 void mono_profiler_stat_hit (guchar *ip, void *context) MONO_INTERNAL;
35 void mono_profiler_thread_start (gsize tid) MONO_INTERNAL;
36 void mono_profiler_thread_end (gsize tid) MONO_INTERNAL;
38 void mono_profiler_exception_thrown (MonoObject *exception) MONO_INTERNAL;
39 void mono_profiler_exception_method_leave (MonoMethod *method) MONO_INTERNAL;
40 void mono_profiler_exception_clause_handler (MonoMethod *method, int clause_type, int clause_num) MONO_INTERNAL;
42 void mono_profiler_assembly_event (MonoAssembly *assembly, int code) MONO_INTERNAL;
43 void mono_profiler_assembly_loaded (MonoAssembly *assembly, int result) MONO_INTERNAL;
45 void mono_profiler_module_event (MonoImage *image, int code) MONO_INTERNAL;
46 void mono_profiler_module_loaded (MonoImage *image, int result) MONO_INTERNAL;
48 void mono_profiler_class_event (MonoClass *klass, int code) MONO_INTERNAL;
49 void mono_profiler_class_loaded (MonoClass *klass, int result) MONO_INTERNAL;
51 void mono_profiler_appdomain_event (MonoDomain *domain, int code) MONO_INTERNAL;
52 void mono_profiler_appdomain_loaded (MonoDomain *domain, int result) MONO_INTERNAL;
54 MonoProfileCoverageInfo* mono_profiler_coverage_alloc (MonoMethod *method, int entries) MONO_INTERNAL;
55 void mono_profiler_coverage_free (MonoMethod *method) MONO_INTERNAL;
57 void mono_profiler_gc_event (MonoGCEvent e, int generation) MONO_INTERNAL;
58 void mono_profiler_gc_heap_resize (gint64 new_size) MONO_INTERNAL;
60 #endif /* __MONO_PROFILER_PRIVATE_H__ */