[amd64] Remove the callee saved registers from MonoLMF, save/restore them normally...
[mono-project.git] / mono / mini / trace.h
blobaf4ce40a39269c12bb384e9e2dac703adbb2063f
1 #ifndef __MONO_TRACE_H__
2 #define __MONO_TRACE_H__
3 #include <glib.h>
4 #include "mono/utils/mono-compiler.h"
6 typedef enum {
7 MONO_TRACEOP_ALL,
8 MONO_TRACEOP_PROGRAM,
9 MONO_TRACEOP_METHOD,
10 MONO_TRACEOP_ASSEMBLY,
11 MONO_TRACEOP_CLASS,
12 MONO_TRACEOP_NAMESPACE,
13 MONO_TRACEOP_EXCEPTION,
14 MONO_TRACEOP_WRAPPER,
15 } MonoTraceOpcode;
17 typedef struct {
18 MonoTraceOpcode op;
19 int exclude;
20 void *data, *data2;
21 } MonoTraceOperation;
23 struct MonoTraceSpec {
24 int len;
25 gboolean enabled;
26 MonoTraceOperation *ops;
28 MonoAssembly *assembly;
31 G_BEGIN_DECLS
33 void
34 mono_trace_enter_method (MonoMethod *method, char *ebp) MONO_INTERNAL;
36 void
37 mono_trace_leave_method (MonoMethod *method, ...) MONO_INTERNAL;
39 void mono_trace_enable (gboolean enable) MONO_INTERNAL;
40 gboolean mono_trace_is_enabled (void) MONO_INTERNAL;
41 gboolean mono_trace_eval_exception (MonoClass *klass) MONO_INTERNAL;
43 G_END_DECLS
45 #endif /* __MONO_TRACE_H__ */