New test.
[mono.git] / mono / mini / trace.h
1 #ifndef __MONO_TRACE_H__
2 #define __MONO_TRACE_H__
3 #include <glib.h>
4
5 typedef enum {
6         MONO_TRACEOP_ALL,
7         MONO_TRACEOP_PROGRAM,
8         MONO_TRACEOP_METHOD,
9         MONO_TRACEOP_ASSEMBLY,
10         MONO_TRACEOP_CLASS,
11         MONO_TRACEOP_NAMESPACE
12 } MonoTraceOpcode;
13
14 typedef struct {
15         MonoTraceOpcode op;
16         int   exclude;
17         void *data, *data2;
18 } MonoTraceOperation;
19
20 struct MonoTraceSpec {
21         int len;
22         gboolean enabled;
23         MonoTraceOperation *ops;
24
25         MonoAssembly *assembly;
26 };
27
28 G_BEGIN_DECLS
29
30 void
31 mono_trace_enter_method (MonoMethod *method, char *ebp);
32
33 void 
34 mono_trace_leave_method (MonoMethod *method, ...);
35
36 void mono_trace_enable (gboolean enable);
37 gboolean mono_trace_is_enabled (void);
38
39 G_END_DECLS
40
41 #endif /* __MONO_TRACE_H__ */