[runtime] Updates comments.
[mono.git] / mono / metadata / sgen-protocol-def.h
1 BEGIN_PROTOCOL_ENTRY1 (binary_protocol_collection_force, TYPE_INT, generation)
2 FLUSH ()
3 DEFAULT_PRINT ()
4 IS_ALWAYS_MATCH (TRUE)
5 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
6 IS_VTABLE_MATCH (FALSE)
7 END_PROTOCOL_ENTRY
8
9 BEGIN_PROTOCOL_ENTRY2 (binary_protocol_collection_begin, TYPE_INT, index, TYPE_INT, generation)
10 FLUSH ()
11 DEFAULT_PRINT ()
12 IS_ALWAYS_MATCH (TRUE)
13 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
14 IS_VTABLE_MATCH (FALSE)
15 END_PROTOCOL_ENTRY
16
17 BEGIN_PROTOCOL_ENTRY4 (binary_protocol_collection_end, TYPE_INT, index, TYPE_INT, generation, TYPE_LONGLONG, num_scanned_objects, TYPE_LONGLONG, num_unique_scanned_objects)
18 FLUSH()
19 CUSTOM_PRINT (printf ("%d generation %d scanned %lld unique %lld %0.2f%%", entry->index, entry->generation, entry->num_scanned_objects, entry->num_unique_scanned_objects, entry->num_unique_scanned_objects ? (100.0 * (double) entry->num_scanned_objects / (double) entry->num_unique_scanned_objects) : 0.0))
20 IS_ALWAYS_MATCH (TRUE)
21 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
22 IS_VTABLE_MATCH (FALSE)
23 END_PROTOCOL_ENTRY
24
25 BEGIN_PROTOCOL_ENTRY0 (binary_protocol_concurrent_start)
26 DEFAULT_PRINT ()
27 IS_ALWAYS_MATCH (TRUE)
28 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
29 IS_VTABLE_MATCH (FALSE)
30 END_PROTOCOL_ENTRY
31
32 BEGIN_PROTOCOL_ENTRY0 (binary_protocol_concurrent_update)
33 DEFAULT_PRINT ()
34 IS_ALWAYS_MATCH (TRUE)
35 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
36 IS_VTABLE_MATCH (FALSE)
37 END_PROTOCOL_ENTRY
38
39 BEGIN_PROTOCOL_ENTRY0 (binary_protocol_concurrent_finish)
40 DEFAULT_PRINT ()
41 IS_ALWAYS_MATCH (TRUE)
42 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
43 IS_VTABLE_MATCH (FALSE)
44 END_PROTOCOL_ENTRY
45
46 BEGIN_PROTOCOL_ENTRY1 (binary_protocol_world_stopping, TYPE_LONGLONG, timestamp)
47 DEFAULT_PRINT ()
48 IS_ALWAYS_MATCH (TRUE)
49 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
50 IS_VTABLE_MATCH (FALSE)
51 END_PROTOCOL_ENTRY
52
53 BEGIN_PROTOCOL_ENTRY5 (binary_protocol_world_stopped, TYPE_LONGLONG, timestamp, TYPE_LONGLONG, total_major_cards, TYPE_LONGLONG, marked_major_cards, TYPE_LONGLONG, total_los_cards, TYPE_LONGLONG, marked_los_cards)
54 CUSTOM_PRINT (printf ("timestamp %lld total %lld marked %lld %0.2f%%", entry->timestamp, entry->total_major_cards + entry->total_los_cards, entry->marked_major_cards + entry->marked_los_cards, 100.0 * (double) (entry->marked_major_cards + entry->marked_los_cards) / (double) (entry->total_major_cards + entry->total_los_cards)))
55 IS_ALWAYS_MATCH (TRUE)
56 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
57 IS_VTABLE_MATCH (FALSE)
58 END_PROTOCOL_ENTRY
59
60 BEGIN_PROTOCOL_ENTRY6 (binary_protocol_world_restarting, TYPE_INT, generation, TYPE_LONGLONG, timestamp, TYPE_LONGLONG, total_major_cards, TYPE_LONGLONG, marked_major_cards, TYPE_LONGLONG, total_los_cards, TYPE_LONGLONG, marked_los_cards)
61 CUSTOM_PRINT (printf ("generation %d timestamp %lld total %lld marked %lld %0.2f%%", entry->generation, entry->timestamp, entry->total_major_cards + entry->total_los_cards, entry->marked_major_cards + entry->marked_los_cards, 100.0 * (double) (entry->marked_major_cards + entry->marked_los_cards) / (double) (entry->total_major_cards + entry->total_los_cards)))
62 IS_ALWAYS_MATCH (TRUE)
63 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
64 IS_VTABLE_MATCH (FALSE)
65 END_PROTOCOL_ENTRY
66
67 BEGIN_PROTOCOL_ENTRY2 (binary_protocol_world_restarted, TYPE_INT, generation, TYPE_LONGLONG, timestamp)
68 DEFAULT_PRINT ()
69 IS_ALWAYS_MATCH (TRUE)
70 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
71 IS_VTABLE_MATCH (FALSE)
72 END_PROTOCOL_ENTRY
73
74 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_alloc, TYPE_POINTER, obj, TYPE_POINTER, vtable, TYPE_INT, size)
75 DEFAULT_PRINT ()
76 IS_ALWAYS_MATCH (FALSE)
77 MATCH_INDEX (matches_interval (ptr, entry->obj, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
78 IS_VTABLE_MATCH (ptr == entry->vtable)
79 END_PROTOCOL_ENTRY_HEAVY
80
81 BEGIN_PROTOCOL_ENTRY_HEAVY4 (binary_protocol_copy, TYPE_POINTER, from, TYPE_POINTER, to, TYPE_POINTER, vtable, TYPE_INT, size)
82 DEFAULT_PRINT ()
83 IS_ALWAYS_MATCH (FALSE)
84 MATCH_INDEX (matches_interval (ptr, entry->from, entry->size) ? 0 : matches_interval (ptr, entry->to, entry->size) ? 1 : BINARY_PROTOCOL_NO_MATCH)
85 IS_VTABLE_MATCH (ptr == entry->vtable)
86 END_PROTOCOL_ENTRY_HEAVY
87
88 BEGIN_PROTOCOL_ENTRY_HEAVY2 (binary_protocol_pin_stage, TYPE_POINTER, addr_ptr, TYPE_POINTER, addr)
89 DEFAULT_PRINT ()
90 IS_ALWAYS_MATCH (FALSE)
91 MATCH_INDEX (ptr == entry->addr_ptr ? 0 : ptr == entry->addr ? 1 : BINARY_PROTOCOL_NO_MATCH)
92 IS_VTABLE_MATCH (FALSE)
93 END_PROTOCOL_ENTRY_HEAVY
94
95 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_pin, TYPE_POINTER, obj, TYPE_POINTER, vtable, TYPE_INT, size)
96 DEFAULT_PRINT ()
97 IS_ALWAYS_MATCH (FALSE)
98 MATCH_INDEX (matches_interval (ptr, entry->obj, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
99 IS_VTABLE_MATCH (ptr == entry->vtable)
100 END_PROTOCOL_ENTRY_HEAVY
101
102 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_mark, TYPE_POINTER, obj, TYPE_POINTER, vtable, TYPE_INT, size)
103 DEFAULT_PRINT ()
104 IS_ALWAYS_MATCH (FALSE)
105 MATCH_INDEX (matches_interval (ptr, entry->obj, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
106 IS_VTABLE_MATCH (FALSE)
107 END_PROTOCOL_ENTRY_HEAVY
108
109 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_scan_begin, TYPE_POINTER, obj, TYPE_POINTER, vtable, TYPE_INT, size)
110 DEFAULT_PRINT ()
111 IS_ALWAYS_MATCH (FALSE)
112 MATCH_INDEX (matches_interval (ptr, entry->obj, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
113 IS_VTABLE_MATCH (ptr == entry->vtable)
114 END_PROTOCOL_ENTRY_HEAVY
115
116 BEGIN_PROTOCOL_ENTRY_HEAVY2 (binary_protocol_scan_vtype_begin, TYPE_POINTER, obj, TYPE_INT, size)
117 DEFAULT_PRINT ()
118 IS_ALWAYS_MATCH (FALSE)
119 MATCH_INDEX (matches_interval (ptr, entry->obj, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
120 IS_VTABLE_MATCH (FALSE)
121 END_PROTOCOL_ENTRY_HEAVY
122
123 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_scan_process_reference, TYPE_POINTER, obj, TYPE_POINTER, ptr, TYPE_POINTER, value)
124 DEFAULT_PRINT ()
125 IS_ALWAYS_MATCH (FALSE)
126 MATCH_INDEX (ptr == entry->obj ? 0 : ptr == entry->ptr ? 1 : ptr == entry->value ? 2 : BINARY_PROTOCOL_NO_MATCH)
127 IS_VTABLE_MATCH (FALSE)
128 END_PROTOCOL_ENTRY_HEAVY
129
130 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_wbarrier, TYPE_POINTER, ptr, TYPE_POINTER, value, TYPE_POINTER, value_vtable)
131 DEFAULT_PRINT ()
132 IS_ALWAYS_MATCH (FALSE)
133 MATCH_INDEX (ptr == entry->ptr ? 0 : ptr == entry->value ? 1 : BINARY_PROTOCOL_NO_MATCH)
134 IS_VTABLE_MATCH (ptr == entry->value_vtable)
135 END_PROTOCOL_ENTRY_HEAVY
136
137 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_global_remset, TYPE_POINTER, ptr, TYPE_POINTER, value, TYPE_POINTER, value_vtable)
138 DEFAULT_PRINT ()
139 IS_ALWAYS_MATCH (FALSE)
140 MATCH_INDEX (ptr == entry->ptr ? 0 : ptr == entry->value ? 1 : BINARY_PROTOCOL_NO_MATCH)
141 IS_VTABLE_MATCH (ptr == entry->value_vtable)
142 END_PROTOCOL_ENTRY_HEAVY
143
144 BEGIN_PROTOCOL_ENTRY_HEAVY5 (binary_protocol_ptr_update, TYPE_POINTER, ptr, TYPE_POINTER, old_value, TYPE_POINTER, new_value, TYPE_POINTER, vtable, TYPE_INT, size)
145 DEFAULT_PRINT ()
146 IS_ALWAYS_MATCH (FALSE)
147 MATCH_INDEX (ptr == entry->ptr ? 0 : matches_interval (ptr, entry->old_value, entry->size) ? 1 : matches_interval (ptr, entry->new_value, entry->size) ? 2 : BINARY_PROTOCOL_NO_MATCH)
148 IS_VTABLE_MATCH (ptr == entry->vtable)
149 END_PROTOCOL_ENTRY_HEAVY
150
151 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_cleanup, TYPE_POINTER, ptr, TYPE_POINTER, vtable, TYPE_INT, size)
152 DEFAULT_PRINT ()
153 IS_ALWAYS_MATCH (FALSE)
154 MATCH_INDEX (matches_interval (ptr, entry->ptr, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
155 IS_VTABLE_MATCH (ptr == entry->vtable)
156 END_PROTOCOL_ENTRY_HEAVY
157
158 BEGIN_PROTOCOL_ENTRY_HEAVY2 (binary_protocol_empty, TYPE_POINTER, start, TYPE_INT, size)
159 DEFAULT_PRINT ()
160 IS_ALWAYS_MATCH (FALSE)
161 MATCH_INDEX (matches_interval (ptr, entry->start, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
162 IS_VTABLE_MATCH (FALSE)
163 END_PROTOCOL_ENTRY_HEAVY
164
165 BEGIN_PROTOCOL_ENTRY2 (binary_protocol_thread_suspend, TYPE_POINTER, thread, TYPE_POINTER, stopped_ip)
166 DEFAULT_PRINT ()
167 IS_ALWAYS_MATCH (TRUE)
168 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
169 IS_VTABLE_MATCH (FALSE)
170 END_PROTOCOL_ENTRY
171
172 BEGIN_PROTOCOL_ENTRY1 (binary_protocol_thread_restart, TYPE_POINTER, thread)
173 DEFAULT_PRINT ()
174 IS_ALWAYS_MATCH (TRUE)
175 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
176 IS_VTABLE_MATCH (FALSE)
177 END_PROTOCOL_ENTRY
178
179 BEGIN_PROTOCOL_ENTRY1 (binary_protocol_thread_register, TYPE_POINTER, thread)
180 DEFAULT_PRINT ()
181 IS_ALWAYS_MATCH (TRUE)
182 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
183 IS_VTABLE_MATCH (FALSE)
184 END_PROTOCOL_ENTRY
185
186 BEGIN_PROTOCOL_ENTRY1 (binary_protocol_thread_unregister, TYPE_POINTER, thread)
187 DEFAULT_PRINT ()
188 IS_ALWAYS_MATCH (TRUE)
189 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
190 IS_VTABLE_MATCH (FALSE)
191 END_PROTOCOL_ENTRY
192
193 BEGIN_PROTOCOL_ENTRY6 (binary_protocol_missing_remset, TYPE_POINTER, obj, TYPE_POINTER, obj_vtable, TYPE_INT, offset, TYPE_POINTER, value, TYPE_POINTER, value_vtable, TYPE_INT, value_pinned)
194 DEFAULT_PRINT ()
195 IS_ALWAYS_MATCH (FALSE)
196 MATCH_INDEX (ptr == entry->obj ? 0 : ptr == entry->value ? 3 : ptr == (char*)entry->obj + entry->offset ? BINARY_PROTOCOL_MATCH : BINARY_PROTOCOL_NO_MATCH)
197 IS_VTABLE_MATCH (ptr == entry->obj_vtable || ptr == entry->value_vtable)
198 END_PROTOCOL_ENTRY
199
200 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_alloc_pinned, TYPE_POINTER, obj, TYPE_POINTER, vtable, TYPE_INT, size)
201 DEFAULT_PRINT ()
202 IS_ALWAYS_MATCH (FALSE)
203 MATCH_INDEX (matches_interval (ptr, entry->obj, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
204 IS_VTABLE_MATCH (ptr == entry->vtable)
205 END_PROTOCOL_ENTRY_HEAVY
206
207 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_alloc_degraded, TYPE_POINTER, obj, TYPE_POINTER, vtable, TYPE_INT, size)
208 DEFAULT_PRINT ()
209 IS_ALWAYS_MATCH (FALSE)
210 MATCH_INDEX (matches_interval (ptr, entry->obj, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
211 IS_VTABLE_MATCH (ptr == entry->vtable)
212 END_PROTOCOL_ENTRY_HEAVY
213
214 BEGIN_PROTOCOL_ENTRY_HEAVY2 (binary_protocol_card_scan, TYPE_POINTER, start, TYPE_INT, size)
215 DEFAULT_PRINT ()
216 IS_ALWAYS_MATCH (FALSE)
217 MATCH_INDEX (matches_interval (ptr, entry->start, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
218 IS_VTABLE_MATCH (FALSE)
219 END_PROTOCOL_ENTRY_HEAVY
220
221 BEGIN_PROTOCOL_ENTRY3 (binary_protocol_cement, TYPE_POINTER, obj, TYPE_POINTER, vtable, TYPE_INT, size)
222 DEFAULT_PRINT ()
223 IS_ALWAYS_MATCH (FALSE)
224 MATCH_INDEX (matches_interval (ptr, entry->obj, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
225 IS_VTABLE_MATCH (ptr == entry->vtable)
226 END_PROTOCOL_ENTRY
227
228 BEGIN_PROTOCOL_ENTRY0 (binary_protocol_cement_reset)
229 DEFAULT_PRINT ()
230 IS_ALWAYS_MATCH (TRUE)
231 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
232 IS_VTABLE_MATCH (FALSE)
233 END_PROTOCOL_ENTRY
234
235 BEGIN_PROTOCOL_ENTRY_HEAVY4 (binary_protocol_dislink_update, TYPE_POINTER, link, TYPE_POINTER, obj, TYPE_INT, track, TYPE_INT, staged)
236 CUSTOM_PRINT(entry->obj ? printf ("link %p obj %p staged %d track %d", entry->link, entry->obj, entry->staged, entry->track) : printf ("link %p obj %p staged %d", entry->link, entry->obj, entry->staged))
237 IS_ALWAYS_MATCH (FALSE)
238 MATCH_INDEX (ptr == entry->link ? 0 : ptr == entry->obj ? 1 : BINARY_PROTOCOL_NO_MATCH)
239 IS_VTABLE_MATCH (FALSE)
240 END_PROTOCOL_ENTRY_HEAVY
241
242 BEGIN_PROTOCOL_ENTRY_HEAVY4 (binary_protocol_dislink_update_staged, TYPE_POINTER, link, TYPE_POINTER, obj, TYPE_INT, track, TYPE_INT, index)
243 CUSTOM_PRINT(entry->obj ? printf ("link %p obj %p index %d track %d", entry->link, entry->obj, entry->index, entry->track) : printf ("link %p obj %p index %d", entry->link, entry->obj, entry->index))
244 IS_ALWAYS_MATCH (FALSE)
245 MATCH_INDEX (ptr == entry->link ? 0 : ptr == entry->obj ? 1 : BINARY_PROTOCOL_NO_MATCH)
246 IS_VTABLE_MATCH (FALSE)
247 END_PROTOCOL_ENTRY_HEAVY
248
249 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_dislink_process_staged, TYPE_POINTER, link, TYPE_POINTER, obj, TYPE_INT, index)
250 DEFAULT_PRINT ()
251 IS_ALWAYS_MATCH (FALSE)
252 MATCH_INDEX (ptr == entry->link ? 0 : ptr == entry->obj ? 1 : BINARY_PROTOCOL_NO_MATCH)
253 IS_VTABLE_MATCH (FALSE)
254 END_PROTOCOL_ENTRY_HEAVY
255
256 BEGIN_PROTOCOL_ENTRY1 (binary_protocol_domain_unload_begin, TYPE_POINTER, domain)
257 DEFAULT_PRINT ()
258 IS_ALWAYS_MATCH (TRUE)
259 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
260 IS_VTABLE_MATCH (FALSE)
261 END_PROTOCOL_ENTRY
262
263 BEGIN_PROTOCOL_ENTRY1 (binary_protocol_domain_unload_end, TYPE_POINTER, domain)
264 DEFAULT_PRINT ()
265 IS_ALWAYS_MATCH (TRUE)
266 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
267 IS_VTABLE_MATCH (FALSE)
268 END_PROTOCOL_ENTRY
269
270 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_gray_enqueue, TYPE_POINTER, queue, TYPE_POINTER, cursor, TYPE_POINTER, value)
271 DEFAULT_PRINT ()
272 IS_ALWAYS_MATCH (FALSE)
273 MATCH_INDEX (ptr == entry->cursor ? 1 : ptr == entry->value ? 2 : BINARY_PROTOCOL_NO_MATCH)
274 IS_VTABLE_MATCH (FALSE)
275 END_PROTOCOL_ENTRY_HEAVY
276
277 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_gray_dequeue, TYPE_POINTER, queue, TYPE_POINTER, cursor, TYPE_POINTER, value)
278 DEFAULT_PRINT ()
279 IS_ALWAYS_MATCH (FALSE)
280 MATCH_INDEX (ptr == entry->cursor ? 1 : ptr == entry->value ? 2 : BINARY_PROTOCOL_NO_MATCH)
281 IS_VTABLE_MATCH (FALSE)
282 END_PROTOCOL_ENTRY_HEAVY
283
284 #undef BEGIN_PROTOCOL_ENTRY0
285 #undef BEGIN_PROTOCOL_ENTRY1
286 #undef BEGIN_PROTOCOL_ENTRY2
287 #undef BEGIN_PROTOCOL_ENTRY3
288 #undef BEGIN_PROTOCOL_ENTRY4
289 #undef BEGIN_PROTOCOL_ENTRY5
290 #undef BEGIN_PROTOCOL_ENTRY6
291 #undef BEGIN_PROTOCOL_ENTRY_HEAVY0
292 #undef BEGIN_PROTOCOL_ENTRY_HEAVY1
293 #undef BEGIN_PROTOCOL_ENTRY_HEAVY2
294 #undef BEGIN_PROTOCOL_ENTRY_HEAVY3
295 #undef BEGIN_PROTOCOL_ENTRY_HEAVY4
296 #undef BEGIN_PROTOCOL_ENTRY_HEAVY5
297 #undef BEGIN_PROTOCOL_ENTRY_HEAVY6
298
299 #undef FLUSH
300
301 #undef DEFAULT_PRINT
302 #undef CUSTOM_PRINT
303
304 #undef IS_ALWAYS_MATCH
305 #undef MATCH_INDEX
306 #undef IS_VTABLE_MATCH
307
308 #undef END_PROTOCOL_ENTRY
309 #undef END_PROTOCOL_ENTRY_HEAVY