2006-06-15 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mono / metadata / profiler-private.h
index a31d6d52b0bccfe0521225ceda7efbafd7050a64..3885e42cbca7a32755e33fc022f16be86a627168 100644 (file)
@@ -13,16 +13,26 @@ enum {
        MONO_PROFILE_END_UNLOAD
 };
 
+typedef struct {
+       int entries;
+       struct {
+                guchar* cil_code;
+                int count;
+        } data [1];
+} MonoProfileCoverageInfo;
+
 void mono_profiler_shutdown        (void);
 
 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, int result);
+void mono_profiler_method_end_jit  (MonoMethod *method, MonoJitInfo* jinfo, int result);
 
 void mono_profiler_code_transition (MonoMethod *method, int result);
-void mono_profiler_thread_start    (guint32 tid);
-void mono_profiler_thread_end      (guint32 tid);
+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_assembly_event  (MonoAssembly *assembly, int code);
 void mono_profiler_assembly_loaded (MonoAssembly *assembly, int result);
@@ -36,5 +46,11 @@ 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);
 
+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);
+
 #endif /* __MONO_PROFILER_PRIVATE_H__ */