[dtrace] Pass namespace and class name to probes where appropriate.
[mono.git] / data / mono.d
1 /* 
2  * mono.d: DTrace provider for Mono
3  * 
4  * Authors:
5  *   Andreas Faerber <andreas.faerber@web.de>
6  * 
7  */
8
9 provider mono {
10         /* Virtual Execution System (VES) */
11         probe ves__init__begin ();
12         probe ves__init__end ();
13
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);
17
18         /* Garbage Collector (GC) */    
19         probe gc__begin (int generation);
20         probe gc__end (int generation);
21
22         probe gc__heap__alloc (void *addr, uintptr_t len);
23         probe gc__heap__free (void *addr, uintptr_t len);
24
25         probe gc__locked ();
26         probe gc__unlocked ();
27
28         probe gc__nursery__tlab__alloc (void *addr, uintptr_t len);
29         probe gc__nursery__obj__alloc (void *addr, uintptr_t size, char *ns_name, char *class_name);
30
31         probe gc__major__obj__alloc__large (void *addr, uintptr_t size, char *ns_name, char *class_name);
32         probe gc__major__obj__alloc__pinned (void *addr, uintptr_t size, char *ns_name, char *class_name);
33         probe gc__major__obj__alloc__degraded (void *addr, uintptr_t size, char *ns_name, char *class_name);
34         probe gc__major__obj__alloc__mature (void *addr, uintptr_t size, char *ns_name, char *class_name);
35
36         probe gc__nursery__sweeped (void *addr, uintptr_t len);
37         probe gc__major__sweeped (void *addr, uintptr_t len);
38
39         probe gc__obj__pinned (void *addr, uintptr_t size, char *ns_name, char *class_name, int generation);
40 };
41
42 #pragma D attributes Evolving/Evolving/Common provider mono provider
43 #pragma D attributes Private/Private/Unknown provider mono module
44 #pragma D attributes Private/Private/Unknown provider mono function
45 #pragma D attributes Evolving/Evolving/Common provider mono name
46 #pragma D attributes Evolving/Evolving/Common provider mono args
47