1 BEGIN_PROTOCOL_ENTRY1 (binary_protocol_collection_force, TYPE_INT, generation)
5 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
6 IS_VTABLE_MATCH (FALSE)
9 BEGIN_PROTOCOL_ENTRY2 (binary_protocol_collection_begin, TYPE_INT, index, TYPE_INT, generation)
12 IS_ALWAYS_MATCH (TRUE)
13 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
14 IS_VTABLE_MATCH (FALSE)
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)
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)
25 BEGIN_PROTOCOL_ENTRY0 (binary_protocol_concurrent_start)
27 IS_ALWAYS_MATCH (TRUE)
28 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
29 IS_VTABLE_MATCH (FALSE)
32 BEGIN_PROTOCOL_ENTRY0 (binary_protocol_concurrent_update)
34 IS_ALWAYS_MATCH (TRUE)
35 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
36 IS_VTABLE_MATCH (FALSE)
39 BEGIN_PROTOCOL_ENTRY0 (binary_protocol_concurrent_finish)
41 IS_ALWAYS_MATCH (TRUE)
42 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
43 IS_VTABLE_MATCH (FALSE)
46 BEGIN_PROTOCOL_ENTRY1 (binary_protocol_world_stopping, TYPE_LONGLONG, timestamp)
48 IS_ALWAYS_MATCH (TRUE)
49 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
50 IS_VTABLE_MATCH (FALSE)
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)
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)
67 BEGIN_PROTOCOL_ENTRY2 (binary_protocol_world_restarted, TYPE_INT, generation, TYPE_LONGLONG, timestamp)
69 IS_ALWAYS_MATCH (TRUE)
70 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
71 IS_VTABLE_MATCH (FALSE)
74 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_alloc, TYPE_POINTER, obj, TYPE_POINTER, vtable, TYPE_INT, size)
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
81 BEGIN_PROTOCOL_ENTRY_HEAVY4 (binary_protocol_copy, TYPE_POINTER, from, TYPE_POINTER, to, TYPE_POINTER, vtable, TYPE_INT, size)
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
88 BEGIN_PROTOCOL_ENTRY_HEAVY2 (binary_protocol_pin_stage, TYPE_POINTER, addr_ptr, TYPE_POINTER, addr)
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
95 BEGIN_PROTOCOL_ENTRY_HEAVY1 (binary_protocol_cement_stage, TYPE_POINTER, addr)
97 IS_ALWAYS_MATCH (FALSE)
98 MATCH_INDEX (ptr == entry->addr ? 0 : BINARY_PROTOCOL_NO_MATCH)
99 IS_VTABLE_MATCH (FALSE)
100 END_PROTOCOL_ENTRY_HEAVY
102 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_pin, TYPE_POINTER, obj, TYPE_POINTER, vtable, TYPE_INT, size)
104 IS_ALWAYS_MATCH (FALSE)
105 MATCH_INDEX (matches_interval (ptr, entry->obj, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
106 IS_VTABLE_MATCH (ptr == entry->vtable)
107 END_PROTOCOL_ENTRY_HEAVY
109 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_mark, TYPE_POINTER, obj, TYPE_POINTER, vtable, TYPE_INT, size)
111 IS_ALWAYS_MATCH (FALSE)
112 MATCH_INDEX (matches_interval (ptr, entry->obj, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
113 IS_VTABLE_MATCH (FALSE)
114 END_PROTOCOL_ENTRY_HEAVY
116 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_scan_begin, TYPE_POINTER, obj, TYPE_POINTER, vtable, TYPE_INT, size)
118 IS_ALWAYS_MATCH (FALSE)
119 MATCH_INDEX (matches_interval (ptr, entry->obj, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
120 IS_VTABLE_MATCH (ptr == entry->vtable)
121 END_PROTOCOL_ENTRY_HEAVY
123 BEGIN_PROTOCOL_ENTRY_HEAVY2 (binary_protocol_scan_vtype_begin, TYPE_POINTER, obj, TYPE_INT, size)
125 IS_ALWAYS_MATCH (FALSE)
126 MATCH_INDEX (matches_interval (ptr, entry->obj, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
127 IS_VTABLE_MATCH (FALSE)
128 END_PROTOCOL_ENTRY_HEAVY
130 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_scan_process_reference, TYPE_POINTER, obj, TYPE_POINTER, ptr, TYPE_POINTER, value)
132 IS_ALWAYS_MATCH (FALSE)
133 MATCH_INDEX (ptr == entry->obj ? 0 : ptr == entry->ptr ? 1 : ptr == entry->value ? 2 : BINARY_PROTOCOL_NO_MATCH)
134 IS_VTABLE_MATCH (FALSE)
135 END_PROTOCOL_ENTRY_HEAVY
137 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_wbarrier, TYPE_POINTER, ptr, TYPE_POINTER, value, TYPE_POINTER, value_vtable)
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
144 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_global_remset, TYPE_POINTER, ptr, TYPE_POINTER, value, TYPE_POINTER, value_vtable)
146 IS_ALWAYS_MATCH (FALSE)
147 MATCH_INDEX (ptr == entry->ptr ? 0 : ptr == entry->value ? 1 : BINARY_PROTOCOL_NO_MATCH)
148 IS_VTABLE_MATCH (ptr == entry->value_vtable)
149 END_PROTOCOL_ENTRY_HEAVY
151 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)
153 IS_ALWAYS_MATCH (FALSE)
154 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)
155 IS_VTABLE_MATCH (ptr == entry->vtable)
156 END_PROTOCOL_ENTRY_HEAVY
158 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_cleanup, TYPE_POINTER, ptr, TYPE_POINTER, vtable, TYPE_INT, size)
160 IS_ALWAYS_MATCH (FALSE)
161 MATCH_INDEX (matches_interval (ptr, entry->ptr, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
162 IS_VTABLE_MATCH (ptr == entry->vtable)
163 END_PROTOCOL_ENTRY_HEAVY
165 BEGIN_PROTOCOL_ENTRY_HEAVY2 (binary_protocol_empty, TYPE_POINTER, start, TYPE_INT, size)
167 IS_ALWAYS_MATCH (FALSE)
168 MATCH_INDEX (matches_interval (ptr, entry->start, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
169 IS_VTABLE_MATCH (FALSE)
170 END_PROTOCOL_ENTRY_HEAVY
172 BEGIN_PROTOCOL_ENTRY2 (binary_protocol_thread_suspend, TYPE_POINTER, thread, TYPE_POINTER, stopped_ip)
174 IS_ALWAYS_MATCH (TRUE)
175 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
176 IS_VTABLE_MATCH (FALSE)
179 BEGIN_PROTOCOL_ENTRY1 (binary_protocol_thread_restart, TYPE_POINTER, thread)
181 IS_ALWAYS_MATCH (TRUE)
182 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
183 IS_VTABLE_MATCH (FALSE)
186 BEGIN_PROTOCOL_ENTRY1 (binary_protocol_thread_register, TYPE_POINTER, thread)
188 IS_ALWAYS_MATCH (TRUE)
189 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
190 IS_VTABLE_MATCH (FALSE)
193 BEGIN_PROTOCOL_ENTRY1 (binary_protocol_thread_unregister, TYPE_POINTER, thread)
195 IS_ALWAYS_MATCH (TRUE)
196 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
197 IS_VTABLE_MATCH (FALSE)
200 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)
202 IS_ALWAYS_MATCH (FALSE)
203 MATCH_INDEX (ptr == entry->obj ? 0 : ptr == entry->value ? 3 : ptr == (char*)entry->obj + entry->offset ? BINARY_PROTOCOL_MATCH : BINARY_PROTOCOL_NO_MATCH)
204 IS_VTABLE_MATCH (ptr == entry->obj_vtable || ptr == entry->value_vtable)
207 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_alloc_pinned, TYPE_POINTER, obj, TYPE_POINTER, vtable, TYPE_INT, size)
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
214 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_alloc_degraded, TYPE_POINTER, obj, TYPE_POINTER, vtable, TYPE_INT, size)
216 IS_ALWAYS_MATCH (FALSE)
217 MATCH_INDEX (matches_interval (ptr, entry->obj, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
218 IS_VTABLE_MATCH (ptr == entry->vtable)
219 END_PROTOCOL_ENTRY_HEAVY
221 BEGIN_PROTOCOL_ENTRY_HEAVY2 (binary_protocol_card_scan, TYPE_POINTER, start, TYPE_INT, size)
223 IS_ALWAYS_MATCH (FALSE)
224 MATCH_INDEX (matches_interval (ptr, entry->start, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
225 IS_VTABLE_MATCH (FALSE)
226 END_PROTOCOL_ENTRY_HEAVY
228 BEGIN_PROTOCOL_ENTRY3 (binary_protocol_cement, TYPE_POINTER, obj, TYPE_POINTER, vtable, TYPE_INT, size)
230 IS_ALWAYS_MATCH (FALSE)
231 MATCH_INDEX (matches_interval (ptr, entry->obj, entry->size) ? 0 : BINARY_PROTOCOL_NO_MATCH)
232 IS_VTABLE_MATCH (ptr == entry->vtable)
235 BEGIN_PROTOCOL_ENTRY0 (binary_protocol_cement_reset)
237 IS_ALWAYS_MATCH (TRUE)
238 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
239 IS_VTABLE_MATCH (FALSE)
242 BEGIN_PROTOCOL_ENTRY_HEAVY4 (binary_protocol_dislink_update, TYPE_POINTER, link, TYPE_POINTER, obj, TYPE_INT, track, TYPE_INT, staged)
243 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))
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
249 BEGIN_PROTOCOL_ENTRY_HEAVY4 (binary_protocol_dislink_update_staged, TYPE_POINTER, link, TYPE_POINTER, obj, TYPE_INT, track, TYPE_INT, index)
250 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))
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
256 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_dislink_process_staged, TYPE_POINTER, link, TYPE_POINTER, obj, TYPE_INT, index)
258 IS_ALWAYS_MATCH (FALSE)
259 MATCH_INDEX (ptr == entry->link ? 0 : ptr == entry->obj ? 1 : BINARY_PROTOCOL_NO_MATCH)
260 IS_VTABLE_MATCH (FALSE)
261 END_PROTOCOL_ENTRY_HEAVY
263 BEGIN_PROTOCOL_ENTRY1 (binary_protocol_domain_unload_begin, TYPE_POINTER, domain)
265 IS_ALWAYS_MATCH (TRUE)
266 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
267 IS_VTABLE_MATCH (FALSE)
270 BEGIN_PROTOCOL_ENTRY1 (binary_protocol_domain_unload_end, TYPE_POINTER, domain)
272 IS_ALWAYS_MATCH (TRUE)
273 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
274 IS_VTABLE_MATCH (FALSE)
277 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_gray_enqueue, TYPE_POINTER, queue, TYPE_POINTER, cursor, TYPE_POINTER, value)
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
284 BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_gray_dequeue, TYPE_POINTER, queue, TYPE_POINTER, cursor, TYPE_POINTER, value)
286 IS_ALWAYS_MATCH (FALSE)
287 MATCH_INDEX (ptr == entry->cursor ? 1 : ptr == entry->value ? 2 : BINARY_PROTOCOL_NO_MATCH)
288 IS_VTABLE_MATCH (FALSE)
289 END_PROTOCOL_ENTRY_HEAVY
291 #undef BEGIN_PROTOCOL_ENTRY0
292 #undef BEGIN_PROTOCOL_ENTRY1
293 #undef BEGIN_PROTOCOL_ENTRY2
294 #undef BEGIN_PROTOCOL_ENTRY3
295 #undef BEGIN_PROTOCOL_ENTRY4
296 #undef BEGIN_PROTOCOL_ENTRY5
297 #undef BEGIN_PROTOCOL_ENTRY6
298 #undef BEGIN_PROTOCOL_ENTRY_HEAVY0
299 #undef BEGIN_PROTOCOL_ENTRY_HEAVY1
300 #undef BEGIN_PROTOCOL_ENTRY_HEAVY2
301 #undef BEGIN_PROTOCOL_ENTRY_HEAVY3
302 #undef BEGIN_PROTOCOL_ENTRY_HEAVY4
303 #undef BEGIN_PROTOCOL_ENTRY_HEAVY5
304 #undef BEGIN_PROTOCOL_ENTRY_HEAVY6
311 #undef IS_ALWAYS_MATCH
313 #undef IS_VTABLE_MATCH
315 #undef END_PROTOCOL_ENTRY
316 #undef END_PROTOCOL_ENTRY_HEAVY