MONO_PROFILE_TRANSITIONS = 1 << 11,
MONO_PROFILE_ENTER_LEAVE = 1 << 12,
MONO_PROFILE_COVERAGE = 1 << 13,
MONO_PROFILE_TRANSITIONS = 1 << 11,
MONO_PROFILE_ENTER_LEAVE = 1 << 12,
MONO_PROFILE_COVERAGE = 1 << 13,
+typedef enum {
+ MONO_GC_EVENT_START,
+ MONO_GC_EVENT_MARK_START,
+ MONO_GC_EVENT_MARK_END,
+ MONO_GC_EVENT_RECLAIM_START,
+ MONO_GC_EVENT_RECLAIM_END,
+ MONO_GC_EVENT_END
+} MonoGCEvent;
+
typedef void (*MonoProfileAppDomainResult)(MonoProfiler *prof, MonoDomain *domain, int result);
typedef void (*MonoProfileMethodResult) (MonoProfiler *prof, MonoMethod *method, int result);
typedef void (*MonoProfileAppDomainResult)(MonoProfiler *prof, MonoDomain *domain, int result);
typedef void (*MonoProfileMethodResult) (MonoProfiler *prof, MonoMethod *method, int result);
typedef void (*MonoProfileClassResult) (MonoProfiler *prof, MonoClass *klass, int result);
typedef void (*MonoProfileModuleResult) (MonoProfiler *prof, MonoImage *module, int result);
typedef void (*MonoProfileAssemblyResult) (MonoProfiler *prof, MonoAssembly *assembly, int result);
typedef void (*MonoProfileMethodInline) (MonoProfiler *prof, MonoMethod *parent, MonoMethod *child, int *ok);
typedef void (*MonoProfileClassResult) (MonoProfiler *prof, MonoClass *klass, int result);
typedef void (*MonoProfileModuleResult) (MonoProfiler *prof, MonoImage *module, int result);
typedef void (*MonoProfileAssemblyResult) (MonoProfiler *prof, MonoAssembly *assembly, int result);
typedef void (*MonoProfileMethodInline) (MonoProfiler *prof, MonoMethod *parent, MonoMethod *child, int *ok);
+typedef void (*MonoProfileStatFunc) (MonoProfiler *prof, guchar *ip, void *context);
+typedef void (*MonoProfileGCFunc) (MonoProfiler *prof, MonoGCEvent event, int generation);
+typedef void (*MonoProfileGCResizeFunc) (MonoProfiler *prof, gint64 new_size);
MonoProfileClassFunc start_unload, MonoProfileClassFunc end_unload);
void mono_profiler_install_jit_compile (MonoProfileMethodFunc start, MonoProfileMethodResult end);
MonoProfileClassFunc start_unload, MonoProfileClassFunc end_unload);
void mono_profiler_install_jit_compile (MonoProfileMethodFunc start, MonoProfileMethodResult end);
void mono_profiler_install_enter_leave (MonoProfileMethodFunc enter, MonoProfileMethodFunc fleave);
void mono_profiler_install_thread (MonoProfileThreadFunc start, MonoProfileThreadFunc end);
void mono_profiler_install_transition (MonoProfileMethodResult callback);
void mono_profiler_install_allocation (MonoProfileAllocFunc callback);
void mono_profiler_install_enter_leave (MonoProfileMethodFunc enter, MonoProfileMethodFunc fleave);
void mono_profiler_install_thread (MonoProfileThreadFunc start, MonoProfileThreadFunc end);
void mono_profiler_install_transition (MonoProfileMethodResult callback);
void mono_profiler_install_allocation (MonoProfileAllocFunc callback);
void mono_profiler_install_coverage_filter (MonoProfileCoverageFilterFunc callback);
void mono_profiler_coverage_get (MonoProfiler *prof, MonoMethod *method, MonoProfileCoverageFunc func);
void mono_profiler_install_coverage_filter (MonoProfileCoverageFilterFunc callback);
void mono_profiler_coverage_get (MonoProfiler *prof, MonoMethod *method, MonoProfileCoverageFunc func);