2 * mono.d: DTrace provider for Mono
5 * Andreas Faerber <andreas.faerber@web.de>
10 /* Virtual Execution System (VES) */
11 probe ves__init__begin ();
12 probe ves__init__end ();
14 /* Just-in-time compiler (JIT) */
15 probe method__compile__begin (char* class_name, char* method_name, char* signature);
16 probe method__compile__end (char* class_name, char* method_name, char* signature, int success);
18 /* Garbage Collector (GC) */
19 probe gc__begin (int generation);
20 probe gc__end (int generation);
22 probe gc__concurrent__start__begin (int generation);
23 probe gc__concurrent__start__end (int generation, long long num_major_objects_marked);
24 probe gc__concurrent__update__finish__begin (int generation, long long num_major_objects_marked);
25 probe gc__concurrent__update__end (int generation, long long num_major_objects_marked);
26 probe gc__concurrent__finish__end (int generation, long long num_major_objects_marked);
28 probe gc__sweep__begin (int generation, int full_sweep);
29 probe gc__sweep__end (int generation, int full_sweep);
31 probe gc__world__stop__begin ();
32 probe gc__world__stop__end ();
33 probe gc__world__restart__begin (int generation);
34 probe gc__world__restart__end (int generation);
36 probe gc__heap__alloc (uintptr_t addr, uintptr_t len);
37 probe gc__heap__free (uintptr_t addr, uintptr_t len);
40 probe gc__unlocked ();
42 probe gc__nursery__tlab__alloc (uintptr_t addr, uintptr_t len);
43 probe gc__nursery__obj__alloc (uintptr_t addr, uintptr_t size, char *ns_name, char *class_name);
45 probe gc__major__obj__alloc__large (uintptr_t addr, uintptr_t size, char *ns_name, char *class_name);
46 probe gc__major__obj__alloc__pinned (uintptr_t addr, uintptr_t size, char *ns_name, char *class_name);
47 probe gc__major__obj__alloc__degraded (uintptr_t addr, uintptr_t size, char *ns_name, char *class_name);
48 probe gc__major__obj__alloc__mature (uintptr_t addr, uintptr_t size, char *ns_name, char *class_name);
50 /* Can be nursery->nursery, nursery->major or major->major */
51 probe gc__obj__moved (uintptr_t dest, uintptr_t src, int dest_gen, int src_gen, uintptr_t size, char *ns_name, char *class_name);
53 probe gc__nursery__swept (uintptr_t addr, uintptr_t len);
54 probe gc__major__swept (uintptr_t addr, uintptr_t len);
56 probe gc__obj__pinned (uintptr_t addr, uintptr_t size, char *ns_name, char *class_name, int generation);
58 probe gc__finalize__enqueue (uintptr_t addr, uintptr_t size, char *ns_name, char *class_name, int generation, int is_critical);
59 probe gc__finalize__invoke (uintptr_t addr, uintptr_t size, char *ns_name, char *class_name);
61 probe gc__weak__update (uintptr_t ref_addr, uintptr_t old_addr, uintptr_t new_addr, uintptr_t size, char *ns_name, char *class_name, int track);
64 #pragma D attributes Evolving/Evolving/Common provider mono provider
65 #pragma D attributes Private/Private/Unknown provider mono module
66 #pragma D attributes Private/Private/Unknown provider mono function
67 #pragma D attributes Evolving/Evolving/Common provider mono name
68 #pragma D attributes Evolving/Evolving/Common provider mono args