/* * mono.d: DTrace provider for Mono * * Authors: * Andreas Faerber * */ provider mono { /* Virtual Execution System (VES) */ probe ves__init__begin (); probe ves__init__end (); /* Just-in-time compiler (JIT) */ probe method__compile__begin (char* class_name, char* method_name, char* signature); probe method__compile__end (char* class_name, char* method_name, char* signature, int success); /* Garbage Collector (GC) */ probe gc__begin (int generation); probe gc__end (int generation); probe gc__heap__alloc (void *addr, uintptr_t len); probe gc__heap__free (void *addr, uintptr_t len); probe gc__locked (); probe gc__unlocked (); probe gc__nursery__tlab__alloc (void *addr, uintptr_t len); probe gc__nursery__obj__alloc (void *addr, uintptr_t size, char *ns_name, char *class_name); probe gc__major__obj__alloc__large (void *addr, uintptr_t size, char *ns_name, char *class_name); probe gc__major__obj__alloc__pinned (void *addr, uintptr_t size, char *ns_name, char *class_name); probe gc__major__obj__alloc__degraded (void *addr, uintptr_t size, char *ns_name, char *class_name); probe gc__major__obj__alloc__mature (void *addr, uintptr_t size, char *ns_name, char *class_name); /* Can be nursery->nursery, nursery->major or major->major */ probe gc__obj__moved (void *dest, void *src, int dest_gen, int src_gen, uintptr_t size, char *ns_name, char *class_name); probe gc__nursery__sweeped (void *addr, uintptr_t len); probe gc__major__sweeped (void *addr, uintptr_t len); probe gc__obj__pinned (void *addr, uintptr_t size, char *ns_name, char *class_name, int generation); }; #pragma D attributes Evolving/Evolving/Common provider mono provider #pragma D attributes Private/Private/Unknown provider mono module #pragma D attributes Private/Private/Unknown provider mono function #pragma D attributes Evolving/Evolving/Common provider mono name #pragma D attributes Evolving/Evolving/Common provider mono args