cf70db5f9ae03a2b431c2848c8f8d9a7f50073f8
[mono.git] / mono / utils / dtrace.h
1 /* 
2  * dtrace.h: DTrace probes
3  * 
4  * Authors:
5  *   Andreas Faerber <andreas.faerber@web.de>
6  * 
7  */
8
9 #ifndef __UTILS_DTRACE_H__
10 #define __UTILS_DTRACE_H__
11
12 #ifdef ENABLE_DTRACE
13
14 #include <mono/utils/mono-dtrace.h>
15
16 #define MONO_PROBE_METHOD_COMPILE_BEGIN(method) \
17         MONO_METHOD_COMPILE_BEGIN ( \
18                 mono_type_get_full_name ((method)->klass), \
19                 (gchar*)(method)->name, \
20                 mono_signature_get_desc ((method)->signature, TRUE) \
21         )
22
23 #define MONO_PROBE_METHOD_COMPILE_END(method, success) \
24         MONO_METHOD_COMPILE_END ( \
25                 mono_type_get_full_name ((method)->klass), \
26                 (gchar*)(method)->name, \
27                 mono_signature_get_desc ((method)->signature, TRUE), \
28                 success \
29         )
30
31 #else
32
33 #define MONO_VES_INIT_BEGIN()
34 #define MONO_VES_INIT_BEGIN_ENABLED() (0)
35
36 #define MONO_VES_INIT_END()
37 #define MONO_VES_INIT_END_ENABLED() (0)
38
39
40 #define MONO_PROBE_METHOD_COMPILE_BEGIN(method)
41 #define MONO_METHOD_COMPILE_BEGIN_ENABLED() (0)
42
43 #define MONO_PROBE_METHOD_COMPILE_END(method, success)
44 #define MONO_METHOD_COMPILE_END_ENABLED() (0)
45
46
47 #define MONO_GC_BEGIN(generation)
48 #define MONO_GC_BEGIN_ENABLED() (0)
49
50 #define MONO_GC_END(generation)
51 #define MONO_GC_END_ENABLED() (0)
52
53
54 #define MONO_GC_CHECKPOINT_1(generation)
55 #define MONO_GC_CHECKPOINT_1_ENABLED()  (0)
56
57 #define MONO_GC_CHECKPOINT_2(generation)
58 #define MONO_GC_CHECKPOINT_2_ENABLED()  (0)
59
60 #define MONO_GC_CHECKPOINT_3(generation)
61 #define MONO_GC_CHECKPOINT_3_ENABLED()  (0)
62
63 #define MONO_GC_CHECKPOINT_4(generation)
64 #define MONO_GC_CHECKPOINT_4_ENABLED()  (0)
65
66 #define MONO_GC_CHECKPOINT_5(generation)
67 #define MONO_GC_CHECKPOINT_5_ENABLED()  (0)
68
69 #define MONO_GC_CHECKPOINT_6(generation)
70 #define MONO_GC_CHECKPOINT_6_ENABLED()  (0)
71
72 #define MONO_GC_CHECKPOINT_7(generation)
73 #define MONO_GC_CHECKPOINT_7_ENABLED()  (0)
74
75 #define MONO_GC_CHECKPOINT_8(generation)
76 #define MONO_GC_CHECKPOINT_8_ENABLED()  (0)
77
78 #define MONO_GC_CHECKPOINT_9(generation)
79 #define MONO_GC_CHECKPOINT_9_ENABLED()  (0)
80
81
82 #define MONO_GC_CONCURRENT_START_BEGIN(generation)
83 #define MONO_GC_CONCURRENT_START_BEGIN_ENABLED()        (0)
84
85 #define MONO_GC_CONCURRENT_START_END(generation,num_major_objects_marked)
86 #define MONO_GC_CONCURRENT_START_END_ENABLED()  (0)
87
88 #define MONO_GC_CONCURRENT_UPDATE_FINISH_BEGIN(generation,num_major_objects_marked)
89 #define MONO_GC_CONCURRENT_UPDATE_FINISH_BEGIN_ENABLED()        (0)
90
91 #define MONO_GC_CONCURRENT_UPDATE_END(generation,num_major_objects_marked)
92 #define MONO_GC_CONCURRENT_UPDATE_END_ENABLED() (0)
93
94 #define MONO_GC_CONCURRENT_FINISH_END(generation,num_major_objects_marked)
95 #define MONO_GC_CONCURRENT_FINISH_END_ENABLED() (0)
96
97
98 #define MONO_GC_SWEEP_BEGIN(generation,full_sweep)
99 #define MONO_GC_SWEEP_BEGIN_ENABLED()   (0)
100
101 #define MONO_GC_SWEEP_END(generation,full_sweep)
102 #define MONO_GC_SWEEP_END_ENABLED()     (0)
103
104
105 #define MONO_GC_WORLD_STOP_BEGIN()
106 #define MONO_GC_WORLD_STOP_BEGIN_ENABLED()      (0)
107
108 #define MONO_GC_WORLD_STOP_END()
109 #define MONO_GC_WORLD_STOP_END_ENABLED()        (0)
110
111 #define MONO_GC_WORLD_RESTART_BEGIN(generation)
112 #define MONO_GC_WORLD_RESTART_BEGIN_ENABLED()   (0)
113
114 #define MONO_GC_WORLD_RESTART_END(generation)
115 #define MONO_GC_WORLD_RESTART_END_ENABLED()     (0)
116
117
118 #define MONO_GC_HEAP_ALLOC(addr,size)
119 #define MONO_GC_HEAP_ALLOC_ENABLED()    (0)
120
121 #define MONO_GC_HEAP_FREE(addr,size)
122 #define MONO_GC_HEAP_FREE_ENABLED()     (0)
123
124
125 #define MONO_GC_LOCKED()
126 #define MONO_GC_LOCKED_ENABLED() (0)
127
128 #define MONO_GC_UNLOCKED()
129 #define MONO_GC_UNLOCKED_ENABLED() (0)
130
131
132 #define MONO_GC_NURSERY_TLAB_ALLOC(addr,len)
133 #define MONO_GC_NURSERY_TLAB_ALLOC_ENABLED()    (0)
134
135 #define MONO_GC_NURSERY_OBJ_ALLOC(addr,size,ns_name,class_name)
136 #define MONO_GC_NURSERY_OBJ_ALLOC_ENABLED()     (0)
137
138
139 #define MONO_GC_MAJOR_OBJ_ALLOC_LARGE(addr,size,ns_name,class_name)
140 #define MONO_GC_MAJOR_OBJ_ALLOC_LARGE_ENABLED() (0)
141
142 #define MONO_GC_MAJOR_OBJ_ALLOC_PINNED(addr,size,ns_name,class_name)
143 #define MONO_GC_MAJOR_OBJ_ALLOC_PINNED_ENABLED()        (0)
144
145 #define MONO_GC_MAJOR_OBJ_ALLOC_DEGRADED(addr,size,ns_name,class_name)
146 #define MONO_GC_MAJOR_OBJ_ALLOC_DEGRADED_ENABLED()      (0)
147
148 #define MONO_GC_MAJOR_OBJ_ALLOC_MATURE(addr,size,ns_name,class_name)
149 #define MONO_GC_MAJOR_OBJ_ALLOC_MATURE_ENABLED()        (0)
150
151
152 #define MONO_GC_OBJ_MOVED(dest,src,dest_gen,src_gen,size,ns_name,class_name)
153 #define MONO_GC_OBJ_MOVED_ENABLED()     (0)
154
155
156 #define MONO_GC_NURSERY_SWEPT(addr,len)
157 #define MONO_GC_NURSERY_SWEPT_ENABLED() (0)
158
159 #define MONO_GC_MAJOR_SWEPT(addr,len)
160 #define MONO_GC_MAJOR_SWEPT_ENABLED()   (0)
161
162
163 #define MONO_GC_OBJ_PINNED(addr,size,ns_name,class_name,generation)
164 #define MONO_GC_OBJ_PINNED_ENABLED()    (0)
165
166
167 #define MONO_GC_FINALIZE_ENQUEUE(addr,size,ns_name,class_name,generation,is_critical)
168 #define MONO_GC_FINALIZE_ENQUEUE_ENABLED()      (0)
169
170 #define MONO_GC_FINALIZE_INVOKE(addr,size,ns_name,class_name)
171 #define MONO_GC_FINALIZE_INVOKE_ENABLED()       (0)
172
173
174 #define MONO_GC_WEAK_UPDATE(ref_addr,old_addr,new_addr,size,ns_name,class_name,track)
175 #define MONO_GC_WEAK_UPDATE_ENABLED()   (0)
176
177
178 #define MONO_GC_GLOBAL_REMSET_ADD(ref_addr,obj_addr,size,ns_name,class_name)
179 #define MONO_GC_GLOBAL_REMSET_ADD_ENABLED()     (0)
180
181 #endif
182
183 #endif