[System] Fixes UdpClient.Receive with IPv6 endpoint
[mono.git] / mono / sgen / sgen-protocol-def.h
1 BEGIN_PROTOCOL_ENTRY3 (binary_protocol_collection_requested, TYPE_INT, generation, TYPE_SIZE, requested_size, TYPE_BOOL, force)
2 DEFAULT_PRINT ()
3 IS_ALWAYS_MATCH (TRUE)
4 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
5 IS_VTABLE_MATCH (FALSE)
6 END_PROTOCOL_ENTRY
7
8 BEGIN_PROTOCOL_ENTRY2 (binary_protocol_collection_begin, TYPE_INT, index, TYPE_INT, generation)
9 DEFAULT_PRINT ()
10 IS_ALWAYS_MATCH (TRUE)
11 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
12 IS_VTABLE_MATCH (FALSE)
13 END_PROTOCOL_ENTRY_FLUSH
14
15 BEGIN_PROTOCOL_ENTRY4 (binary_protocol_collection_end, TYPE_INT, index, TYPE_INT, generation, TYPE_LONGLONG, num_scanned_objects, TYPE_LONGLONG, num_unique_scanned_objects)
16 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))
17 IS_ALWAYS_MATCH (TRUE)
18 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
19 IS_VTABLE_MATCH (FALSE)
20 END_PROTOCOL_ENTRY_FLUSH
21
22 BEGIN_PROTOCOL_ENTRY0 (binary_protocol_concurrent_start)
23 DEFAULT_PRINT ()
24 IS_ALWAYS_MATCH (TRUE)
25 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
26 IS_VTABLE_MATCH (FALSE)
27 END_PROTOCOL_ENTRY
28
29 BEGIN_PROTOCOL_ENTRY0 (binary_protocol_concurrent_update)
30 DEFAULT_PRINT ()
31 IS_ALWAYS_MATCH (TRUE)
32 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
33 IS_VTABLE_MATCH (FALSE)
34 END_PROTOCOL_ENTRY
35
36 BEGIN_PROTOCOL_ENTRY0 (binary_protocol_concurrent_finish)
37 DEFAULT_PRINT ()
38 IS_ALWAYS_MATCH (TRUE)
39 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
40 IS_VTABLE_MATCH (FALSE)
41 END_PROTOCOL_ENTRY
42
43 BEGIN_PROTOCOL_ENTRY2 (binary_protocol_sweep_begin, TYPE_INT, generation, TYPE_BOOL, full_sweep)
44 DEFAULT_PRINT ()
45 IS_ALWAYS_MATCH (TRUE)
46 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
47 IS_VTABLE_MATCH (FALSE)
48 END_PROTOCOL_ENTRY
49
50 BEGIN_PROTOCOL_ENTRY2 (binary_protocol_sweep_end, TYPE_INT, generation, TYPE_BOOL, full_sweep)
51 DEFAULT_PRINT ()
52 IS_ALWAYS_MATCH (TRUE)
53 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
54 IS_VTABLE_MATCH (FALSE)
55 END_PROTOCOL_ENTRY
56
57 BEGIN_PROTOCOL_ENTRY3 (binary_protocol_world_stopping, TYPE_INT, generation, TYPE_LONGLONG, timestamp, TYPE_POINTER, thread)
58 DEFAULT_PRINT ()
59 IS_ALWAYS_MATCH (TRUE)
60 MATCH_INDEX (ptr == entry->thread ? 2 : BINARY_PROTOCOL_MATCH)
61 IS_VTABLE_MATCH (FALSE)
62 END_PROTOCOL_ENTRY
63
64 BEGIN_PROTOCOL_ENTRY6 (binary_protocol_world_stopped, 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)
65 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)))
66 IS_ALWAYS_MATCH (TRUE)
67 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
68 IS_VTABLE_MATCH (FALSE)
69 END_PROTOCOL_ENTRY
70
71 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)
72 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)))
73 IS_ALWAYS_MATCH (TRUE)
74 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
75 IS_VTABLE_MATCH (FALSE)
76 END_PROTOCOL_ENTRY
77
78 BEGIN_PROTOCOL_ENTRY2 (binary_protocol_world_restarted, TYPE_INT, generation, TYPE_LONGLONG, timestamp)
79 DEFAULT_PRINT ()
80 IS_ALWAYS_MATCH (TRUE)
81 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
82 IS_VTABLE_MATCH (FALSE)
83 END_PROTOCOL_ENTRY
84
85 BEGIN_PROTOCOL_ENTRY_HEAVY2 (binary_protocol_block_alloc, TYPE_POINTER, addr, TYPE_SIZE, size)
86 DEFAULT_PRINT ()
87 IS_ALWAYS_MATCH (FALSE)
88 MATCH_INDEX (matches_interval (ptr, entry->addr, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
89 IS_VTABLE_MATCH (FALSE)
90 END_PROTOCOL_ENTRY_HEAVY
91
92 BEGIN_PROTOCOL_ENTRY_HEAVY2 (binary_protocol_block_free, TYPE_POINTER, addr, TYPE_SIZE, size)
93 DEFAULT_PRINT ()
94 IS_ALWAYS_MATCH (FALSE)
95 MATCH_INDEX (matches_interval (ptr, entry->addr, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
96 IS_VTABLE_MATCH (FALSE)
97 END_PROTOCOL_ENTRY_HEAVY
98
99 BEGIN_PROTOCOL_ENTRY_HEAVY4 (binary_protocol_block_set_state, TYPE_POINTER, addr, TYPE_SIZE, size, TYPE_INT, old, TYPE_INT, new)
100 DEFAULT_PRINT ()
101 IS_ALWAYS_MATCH (FALSE)
102 MATCH_INDEX (matches_interval (ptr, entry->addr, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
103 IS_VTABLE_MATCH (FALSE)
104 END_PROTOCOL_ENTRY_HEAVY
105
106 BEGIN_PROTOCOL_ENTRY1 (binary_protocol_mark_start, TYPE_INT, generation)
107 DEFAULT_PRINT ()
108 IS_ALWAYS_MATCH (TRUE)
109 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
110 IS_VTABLE_MATCH (FALSE)
111 END_PROTOCOL_ENTRY
112
113 BEGIN_PROTOCOL_ENTRY1 (binary_protocol_mark_end, TYPE_INT, generation)
114 DEFAULT_PRINT ()
115 IS_ALWAYS_MATCH (TRUE)
116 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
117 IS_VTABLE_MATCH (FALSE)
118 END_PROTOCOL_ENTRY
119
120 /* FIXME: unify sweep and reclaim */
121 BEGIN_PROTOCOL_ENTRY1 (binary_protocol_reclaim_start, TYPE_INT, generation)
122 DEFAULT_PRINT ()
123 IS_ALWAYS_MATCH (TRUE)
124 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
125 IS_VTABLE_MATCH (FALSE)
126 END_PROTOCOL_ENTRY
127
128 BEGIN_PROTOCOL_ENTRY1 (binary_protocol_reclaim_end, TYPE_INT, generation)
129 DEFAULT_PRINT ()
130 IS_ALWAYS_MATCH (TRUE)
131 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
132 IS_VTABLE_MATCH (FALSE)
133 END_PROTOCOL_ENTRY
134
135 BEGIN_PROTOCOL_ENTRY_HEAVY4 (binary_protocol_alloc, TYPE_POINTER, obj, TYPE_POINTER, vtable, TYPE_SIZE, size, TYPE_POINTER, provenance)
136 DEFAULT_PRINT ()
137 IS_ALWAYS_MATCH (FALSE)
138 MATCH_INDEX (matches_interval (ptr, entry->obj, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
139 IS_VTABLE_MATCH (ptr == entry->vtable)
140 END_PROTOCOL_ENTRY_HEAVY
141
142 BEGIN_PROTOCOL_ENTRY_HEAVY4 (binary_protocol_copy, TYPE_POINTER, from, TYPE_POINTER, to, TYPE_POINTER, vtable, TYPE_SIZE, size)
143 DEFAULT_PRINT ()
144 IS_ALWAYS_MATCH (FALSE)
145 MATCH_INDEX (matches_interval (ptr, entry->from, entry->size) ? 0 : matches_interval (ptr, entry->to, entry->size) ? 1 : BINARY_PROTOCOL_NO_MATCH)
146 IS_VTABLE_MATCH (ptr == entry->vtable)
147 END_PROTOCOL_ENTRY_HEAVY
148
149 BEGIN_PROTOCOL_ENTRY_HEAVY2 (binary_protocol_pin_stage, TYPE_POINTER, addr_ptr, TYPE_POINTER, addr)
150 DEFAULT_PRINT ()
151 IS_ALWAYS_MATCH (FALSE)
152 MATCH_INDEX (ptr == entry->addr_ptr ? 0 : ptr == entry->addr ? 1 : BINARY_PROTOCOL_NO_MATCH)
153 IS_VTABLE_MATCH (FALSE)
154 END_PROTOCOL_ENTRY_HEAVY
155
156 BEGIN_PROTOCOL_ENTRY_HEAVY1 (binary_protocol_cement_stage, TYPE_POINTER, addr)
157 DEFAULT_PRINT ()
158 IS_ALWAYS_MATCH (FALSE)
159 MATCH_INDEX (ptr == entry->addr ? 0 : BINARY_PROTOCOL_NO_MATCH)
160 IS_VTABLE_MATCH (FALSE)
161 END_PROTOCOL_ENTRY_HEAVY
162
163 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_pin, TYPE_POINTER, obj, TYPE_POINTER, vtable, TYPE_SIZE, size)
164 DEFAULT_PRINT ()
165 IS_ALWAYS_MATCH (FALSE)
166 MATCH_INDEX (matches_interval (ptr, entry->obj, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
167 IS_VTABLE_MATCH (ptr == entry->vtable)
168 END_PROTOCOL_ENTRY_HEAVY
169
170 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_mark, TYPE_POINTER, obj, TYPE_POINTER, vtable, TYPE_SIZE, size)
171 DEFAULT_PRINT ()
172 IS_ALWAYS_MATCH (FALSE)
173 MATCH_INDEX (matches_interval (ptr, entry->obj, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
174 IS_VTABLE_MATCH (FALSE)
175 END_PROTOCOL_ENTRY_HEAVY
176
177 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_scan_begin, TYPE_POINTER, obj, TYPE_POINTER, vtable, TYPE_SIZE, size)
178 DEFAULT_PRINT ()
179 IS_ALWAYS_MATCH (FALSE)
180 MATCH_INDEX (matches_interval (ptr, entry->obj, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
181 IS_VTABLE_MATCH (ptr == entry->vtable)
182 END_PROTOCOL_ENTRY_HEAVY
183
184 BEGIN_PROTOCOL_ENTRY_HEAVY2 (binary_protocol_scan_vtype_begin, TYPE_POINTER, obj, TYPE_SIZE, size)
185 DEFAULT_PRINT ()
186 IS_ALWAYS_MATCH (FALSE)
187 MATCH_INDEX (matches_interval (ptr, entry->obj, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
188 IS_VTABLE_MATCH (FALSE)
189 END_PROTOCOL_ENTRY_HEAVY
190
191 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_scan_process_reference, TYPE_POINTER, obj, TYPE_POINTER, ptr, TYPE_POINTER, value)
192 DEFAULT_PRINT ()
193 IS_ALWAYS_MATCH (FALSE)
194 MATCH_INDEX (ptr == entry->obj ? 0 : ptr == entry->ptr ? 1 : ptr == entry->value ? 2 : BINARY_PROTOCOL_NO_MATCH)
195 IS_VTABLE_MATCH (FALSE)
196 END_PROTOCOL_ENTRY_HEAVY
197
198 BEGIN_PROTOCOL_ENTRY_HEAVY4 (binary_protocol_scan_stack, TYPE_POINTER, thread, TYPE_POINTER, stack_start, TYPE_POINTER, stack_end, TYPE_INT, skip_reason)
199 DEFAULT_PRINT ()
200 IS_ALWAYS_MATCH (FALSE)
201 MATCH_INDEX (ptr == entry->thread ? 0 : (ptr >= entry->stack_start && ptr < entry->stack_end) ? 1 : BINARY_PROTOCOL_NO_MATCH)
202 IS_VTABLE_MATCH (FALSE)
203 END_PROTOCOL_ENTRY_HEAVY
204
205 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_wbarrier, TYPE_POINTER, ptr, TYPE_POINTER, value, TYPE_POINTER, value_vtable)
206 DEFAULT_PRINT ()
207 IS_ALWAYS_MATCH (FALSE)
208 MATCH_INDEX (ptr == entry->ptr ? 0 : ptr == entry->value ? 1 : BINARY_PROTOCOL_NO_MATCH)
209 IS_VTABLE_MATCH (ptr == entry->value_vtable)
210 END_PROTOCOL_ENTRY_HEAVY
211
212 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_global_remset, TYPE_POINTER, ptr, TYPE_POINTER, value, TYPE_POINTER, value_vtable)
213 DEFAULT_PRINT ()
214 IS_ALWAYS_MATCH (FALSE)
215 MATCH_INDEX (ptr == entry->ptr ? 0 : ptr == entry->value ? 1 : BINARY_PROTOCOL_NO_MATCH)
216 IS_VTABLE_MATCH (ptr == entry->value_vtable)
217 END_PROTOCOL_ENTRY_HEAVY
218
219 BEGIN_PROTOCOL_ENTRY_HEAVY5 (binary_protocol_ptr_update, TYPE_POINTER, ptr, TYPE_POINTER, old_value, TYPE_POINTER, new_value, TYPE_POINTER, vtable, TYPE_SIZE, size)
220 DEFAULT_PRINT ()
221 IS_ALWAYS_MATCH (FALSE)
222 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)
223 IS_VTABLE_MATCH (ptr == entry->vtable)
224 END_PROTOCOL_ENTRY_HEAVY
225
226 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_cleanup, TYPE_POINTER, ptr, TYPE_POINTER, vtable, TYPE_SIZE, size)
227 DEFAULT_PRINT ()
228 IS_ALWAYS_MATCH (FALSE)
229 MATCH_INDEX (matches_interval (ptr, entry->ptr, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
230 IS_VTABLE_MATCH (ptr == entry->vtable)
231 END_PROTOCOL_ENTRY_HEAVY
232
233 BEGIN_PROTOCOL_ENTRY_HEAVY2 (binary_protocol_empty, TYPE_POINTER, start, TYPE_SIZE, size)
234 DEFAULT_PRINT ()
235 IS_ALWAYS_MATCH (FALSE)
236 MATCH_INDEX (matches_interval (ptr, entry->start, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
237 IS_VTABLE_MATCH (FALSE)
238 END_PROTOCOL_ENTRY_HEAVY
239
240 BEGIN_PROTOCOL_ENTRY2 (binary_protocol_thread_suspend, TYPE_POINTER, thread, TYPE_POINTER, stopped_ip)
241 DEFAULT_PRINT ()
242 IS_ALWAYS_MATCH (TRUE)
243 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
244 IS_VTABLE_MATCH (FALSE)
245 END_PROTOCOL_ENTRY
246
247 BEGIN_PROTOCOL_ENTRY1 (binary_protocol_thread_restart, TYPE_POINTER, thread)
248 DEFAULT_PRINT ()
249 IS_ALWAYS_MATCH (TRUE)
250 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
251 IS_VTABLE_MATCH (FALSE)
252 END_PROTOCOL_ENTRY
253
254 BEGIN_PROTOCOL_ENTRY1 (binary_protocol_thread_register, TYPE_POINTER, thread)
255 DEFAULT_PRINT ()
256 IS_ALWAYS_MATCH (TRUE)
257 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
258 IS_VTABLE_MATCH (FALSE)
259 END_PROTOCOL_ENTRY
260
261 BEGIN_PROTOCOL_ENTRY1 (binary_protocol_thread_unregister, TYPE_POINTER, thread)
262 DEFAULT_PRINT ()
263 IS_ALWAYS_MATCH (TRUE)
264 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
265 IS_VTABLE_MATCH (FALSE)
266 END_PROTOCOL_ENTRY
267
268 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_BOOL, value_pinned)
269 DEFAULT_PRINT ()
270 IS_ALWAYS_MATCH (FALSE)
271 MATCH_INDEX (ptr == entry->obj ? 0 : ptr == entry->value ? 3 : ptr == (char*)entry->obj + entry->offset ? BINARY_PROTOCOL_MATCH : BINARY_PROTOCOL_NO_MATCH)
272 IS_VTABLE_MATCH (ptr == entry->obj_vtable || ptr == entry->value_vtable)
273 END_PROTOCOL_ENTRY
274
275 BEGIN_PROTOCOL_ENTRY_HEAVY4 (binary_protocol_alloc_pinned, TYPE_POINTER, obj, TYPE_POINTER, vtable, TYPE_SIZE, size, TYPE_POINTER, provenance)
276 DEFAULT_PRINT ()
277 IS_ALWAYS_MATCH (FALSE)
278 MATCH_INDEX (matches_interval (ptr, entry->obj, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
279 IS_VTABLE_MATCH (ptr == entry->vtable)
280 END_PROTOCOL_ENTRY_HEAVY
281
282 BEGIN_PROTOCOL_ENTRY_HEAVY4 (binary_protocol_alloc_degraded, TYPE_POINTER, obj, TYPE_POINTER, vtable, TYPE_SIZE, size, TYPE_POINTER, provenance)
283 DEFAULT_PRINT ()
284 IS_ALWAYS_MATCH (FALSE)
285 MATCH_INDEX (matches_interval (ptr, entry->obj, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
286 IS_VTABLE_MATCH (ptr == entry->vtable)
287 END_PROTOCOL_ENTRY_HEAVY
288
289 BEGIN_PROTOCOL_ENTRY_HEAVY2 (binary_protocol_card_scan, TYPE_POINTER, start, TYPE_SIZE, size)
290 DEFAULT_PRINT ()
291 IS_ALWAYS_MATCH (FALSE)
292 MATCH_INDEX (matches_interval (ptr, entry->start, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
293 IS_VTABLE_MATCH (FALSE)
294 END_PROTOCOL_ENTRY_HEAVY
295
296 BEGIN_PROTOCOL_ENTRY3 (binary_protocol_cement, TYPE_POINTER, obj, TYPE_POINTER, vtable, TYPE_SIZE, size)
297 DEFAULT_PRINT ()
298 IS_ALWAYS_MATCH (FALSE)
299 MATCH_INDEX (matches_interval (ptr, entry->obj, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
300 IS_VTABLE_MATCH (ptr == entry->vtable)
301 END_PROTOCOL_ENTRY
302
303 BEGIN_PROTOCOL_ENTRY0 (binary_protocol_cement_reset)
304 DEFAULT_PRINT ()
305 IS_ALWAYS_MATCH (TRUE)
306 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
307 IS_VTABLE_MATCH (FALSE)
308 END_PROTOCOL_ENTRY
309
310 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_dislink_add, TYPE_POINTER, link, TYPE_POINTER, obj, TYPE_BOOL, track)
311 DEFAULT_PRINT ()
312 IS_ALWAYS_MATCH (FALSE)
313 MATCH_INDEX (ptr == entry->link ? 0 : ptr == entry->obj ? 1 : BINARY_PROTOCOL_NO_MATCH)
314 IS_VTABLE_MATCH (FALSE)
315 END_PROTOCOL_ENTRY_HEAVY
316
317 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_dislink_update, TYPE_POINTER, link, TYPE_POINTER, obj, TYPE_BOOL, track)
318 CUSTOM_PRINT(entry->obj ? printf ("link %p obj %p track %d", entry->link, entry->obj, entry->track) : printf ("link %p obj %p", entry->link, entry->obj))
319 IS_ALWAYS_MATCH (FALSE)
320 MATCH_INDEX (ptr == entry->link ? 0 : ptr == entry->obj ? 1 : BINARY_PROTOCOL_NO_MATCH)
321 IS_VTABLE_MATCH (FALSE)
322 END_PROTOCOL_ENTRY_HEAVY
323
324 BEGIN_PROTOCOL_ENTRY_HEAVY2 (binary_protocol_dislink_remove, TYPE_POINTER, link, TYPE_BOOL, track)
325 DEFAULT_PRINT ()
326 IS_ALWAYS_MATCH (FALSE)
327 MATCH_INDEX (ptr == entry->link ? 0 : BINARY_PROTOCOL_NO_MATCH)
328 IS_VTABLE_MATCH (FALSE)
329 END_PROTOCOL_ENTRY_HEAVY
330
331 BEGIN_PROTOCOL_ENTRY1 (binary_protocol_domain_unload_begin, TYPE_POINTER, domain)
332 DEFAULT_PRINT ()
333 IS_ALWAYS_MATCH (TRUE)
334 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
335 IS_VTABLE_MATCH (FALSE)
336 END_PROTOCOL_ENTRY
337
338 BEGIN_PROTOCOL_ENTRY1 (binary_protocol_domain_unload_end, TYPE_POINTER, domain)
339 DEFAULT_PRINT ()
340 IS_ALWAYS_MATCH (TRUE)
341 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
342 IS_VTABLE_MATCH (FALSE)
343 END_PROTOCOL_ENTRY
344
345 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_gray_enqueue, TYPE_POINTER, queue, TYPE_POINTER, cursor, TYPE_POINTER, value)
346 DEFAULT_PRINT ()
347 IS_ALWAYS_MATCH (FALSE)
348 MATCH_INDEX (ptr == entry->cursor ? 1 : ptr == entry->value ? 2 : BINARY_PROTOCOL_NO_MATCH)
349 IS_VTABLE_MATCH (FALSE)
350 END_PROTOCOL_ENTRY_HEAVY
351
352 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_gray_dequeue, TYPE_POINTER, queue, TYPE_POINTER, cursor, TYPE_POINTER, value)
353 DEFAULT_PRINT ()
354 IS_ALWAYS_MATCH (FALSE)
355 MATCH_INDEX (ptr == entry->cursor ? 1 : ptr == entry->value ? 2 : BINARY_PROTOCOL_NO_MATCH)
356 IS_VTABLE_MATCH (FALSE)
357 END_PROTOCOL_ENTRY_HEAVY
358
359 #undef BEGIN_PROTOCOL_ENTRY0
360 #undef BEGIN_PROTOCOL_ENTRY1
361 #undef BEGIN_PROTOCOL_ENTRY2
362 #undef BEGIN_PROTOCOL_ENTRY3
363 #undef BEGIN_PROTOCOL_ENTRY4
364 #undef BEGIN_PROTOCOL_ENTRY5
365 #undef BEGIN_PROTOCOL_ENTRY6
366 #undef BEGIN_PROTOCOL_ENTRY_HEAVY0
367 #undef BEGIN_PROTOCOL_ENTRY_HEAVY1
368 #undef BEGIN_PROTOCOL_ENTRY_HEAVY2
369 #undef BEGIN_PROTOCOL_ENTRY_HEAVY3
370 #undef BEGIN_PROTOCOL_ENTRY_HEAVY4
371 #undef BEGIN_PROTOCOL_ENTRY_HEAVY5
372 #undef BEGIN_PROTOCOL_ENTRY_HEAVY6
373
374 #undef DEFAULT_PRINT
375 #undef CUSTOM_PRINT
376
377 #undef IS_ALWAYS_MATCH
378 #undef MATCH_INDEX
379 #undef IS_VTABLE_MATCH
380
381 #undef END_PROTOCOL_ENTRY
382 #undef END_PROTOCOL_ENTRY_FLUSH
383 #undef END_PROTOCOL_ENTRY_HEAVY