2 * dtrace.h: DTrace probes
5 * Andreas Faerber <andreas.faerber@web.de>
9 #ifndef __UTILS_DTRACE_H__
10 #define __UTILS_DTRACE_H__
15 #include <mono/utils/mono-dtrace.h>
17 #define MONO_PROBE_VES_INIT_BEGIN() MONO_VES_INIT_BEGIN ()
18 #define MONO_PROBE_VES_INIT_BEGIN_ENABLED() MONO_VES_INIT_BEGIN_ENABLED ()
20 #define MONO_PROBE_VES_INIT_END() MONO_VES_INIT_END ()
21 #define MONO_PROBE_VES_INIT_END_ENABLED() MONO_VES_INIT_END_ENABLED ()
24 #define MONO_PROBE_METHOD_COMPILE_BEGIN(method) \
25 MONO_METHOD_COMPILE_BEGIN ( \
26 mono_type_get_full_name ((method)->klass), \
27 (gchar*)(method)->name, \
28 mono_signature_get_desc ((method)->signature, TRUE) \
30 #define MONO_PROBE_METHOD_COMPILE_BEGIN_ENABLED() MONO_METHOD_COMPILE_BEGIN_ENABLED ()
32 #define MONO_PROBE_METHOD_COMPILE_END(method, success) \
33 MONO_METHOD_COMPILE_END ( \
34 mono_type_get_full_name ((method)->klass), \
35 (gchar*)(method)->name, \
36 mono_signature_get_desc ((method)->signature, TRUE), \
39 #define MONO_PROBE_METHOD_COMPILE_END_ENABLED() MONO_METHOD_COMPILE_END_ENABLED ()
42 #define MONO_PROBE_GC_BEGIN(generation) MONO_GC_BEGIN (generation)
43 #define MONO_PROBE_GC_BEGIN_ENABLED() MONO_GC_BEGIN_ENABLED ()
45 #define MONO_PROBE_GC_END(generation) MONO_GC_END (generation)
46 #define MONO_PROBE_GC_END_ENABLED() MONO_GC_END_ENABLED ()
49 #define MONO_PROBE_GC_LOCKED() MONO_GC_LOCKED ()
50 #define MONO_PROBE_GC_UNLOCKED() MONO_GC_UNLOCKED ()
53 #define MONO_PROBE_GC_HEAP_ALLOC(addr,size) MONO_GC_HEAP_ALLOC ((addr), (size))
54 #define MONO_PROBE_GC_HEAP_FREE(addr,size) MONO_GC_HEAP_FREE ((addr), (size))
59 #define MONO_PROBE_VES_INIT_BEGIN()
60 #define MONO_PROBE_VES_INIT_BEGIN_ENABLED() (0)
62 #define MONO_PROBE_VES_INIT_END()
63 #define MONO_PROBE_VES_INIT_END_ENABLED() (0)
66 #define MONO_PROBE_METHOD_COMPILE_BEGIN(method)
67 #define MONO_PROBE_METHOD_COMPILE_BEGIN_ENABLED() (0)
69 #define MONO_PROBE_METHOD_COMPILE_END(method, success)
70 #define MONO_PROBE_METHOD_COMPILE_END_ENABLED() (0)
73 #define MONO_PROBE_GC_BEGIN(generation)
74 #define MONO_PROBE_GC_BEGIN_ENABLED() (0)
76 #define MONO_PROBE_GC_END(generation)
77 #define MONO_PROBE_GC_END_ENABLED() (0)
80 #define MONO_PROBE_GC_LOCKED()
81 #define MONO_PROBE_GC_LOCKED_ENABLED() (0)
83 #define MONO_PROBE_GC_UNLOCKED()
84 #define MONO_PROBE_GC_UNLOCKED_ENABLED() (0)
87 #define MONO_PROBE_GC_HEAP_ALLOC(addr,size)
88 #define MONO_PROBE_GC_HEAP_FREE(addr,size)