[profiler] log profiler: limit method instrumentation to selected methods (#5517)
[mono.git] / mono / mini / trace.h
index a7f884fb250f8a11fea63af9a7f41f16e13582ba..516fd8c60f712170ec1808f32239231107dd1f84 100644 (file)
@@ -1,27 +1,13 @@
+/**
+ * \file
+ */
+
 #ifndef __MONO_TRACE_H__
 #define __MONO_TRACE_H__
+#include <glib.h>
+#include "mono/utils/mono-compiler.h"
 
-typedef enum {
-       MONO_TRACEOP_ALL,
-       MONO_TRACEOP_PROGRAM,
-       MONO_TRACEOP_METHOD,
-       MONO_TRACEOP_ASSEMBLY,
-       MONO_TRACEOP_CLASS,
-       MONO_TRACEOP_NAMESPACE
-} MonoTraceOpcode;
-
-typedef struct {
-       MonoTraceOpcode op;
-       int   exclude;
-       void *data, *data2;
-} MonoTraceOperation;
-
-struct MonoTraceSpec {
-       int len;
-       MonoTraceOperation *ops;
-
-       MonoAssembly *assembly;
-};
+G_BEGIN_DECLS
 
 void
 mono_trace_enter_method (MonoMethod *method, char *ebp);
@@ -29,4 +15,10 @@ mono_trace_enter_method (MonoMethod *method, char *ebp);
 void 
 mono_trace_leave_method (MonoMethod *method, ...);
 
+void mono_trace_enable (gboolean enable);
+gboolean mono_trace_is_enabled (void);
+gboolean mono_trace_eval_exception (MonoClass *klass);
+
+G_END_DECLS
+
 #endif /* __MONO_TRACE_H__ */