1 /* * 2 * \file 3 * DTrace probes 4 * 5 * Authors: 6 * Andreas Faerber <andreas.faerber@web.de> 7 * 8 */ 9 10 #ifndef __UTILS_DTRACE_H__ 11 #define __UTILS_DTRACE_H__ 12 13 #ifdef ENABLE_DTRACE 14 15 #include <mono/utils/mono-dtrace.h> 16 17 #define MONO_PROBE_METHOD_COMPILE_BEGIN(method) \ 18 MONO_METHOD_COMPILE_BEGIN ( \ 19 mono_type_get_full_name ((method)->klass), \ 20 (gchar*)(method)->name, \ 21 mono_signature_get_desc ((method)->signature, TRUE) \ 22 ) 23 24 #define MONO_PROBE_METHOD_COMPILE_END(method, success) \ 25 MONO_METHOD_COMPILE_END ( \ 26 mono_type_get_full_name ((method)->klass), \ 27 (gchar*)(method)->name, \ 28 mono_signature_get_desc ((method)->signature, TRUE), \ 29 success \ 30 ) 31 32 #else 33 34 #define MONO_VES_INIT_BEGIN() 35 #define MONO_VES_INIT_BEGIN_ENABLED() (0) 36 37 #define MONO_VES_INIT_END() 38 #define MONO_VES_INIT_END_ENABLED() (0) 39 40 41 #define MONO_PROBE_METHOD_COMPILE_BEGIN(method) 42 #define MONO_METHOD_COMPILE_BEGIN_ENABLED() (0) 43 44 #define MONO_PROBE_METHOD_COMPILE_END(method, success) 45 #define MONO_METHOD_COMPILE_END_ENABLED() (0) 46 47 48 #define MONO_GC_BEGIN(generation) 49 #define MONO_GC_BEGIN_ENABLED() (0) 50 51 #define MONO_GC_END(generation) 52 #define MONO_GC_END_ENABLED() (0) 53 54 55 #define MONO_GC_REQUESTED(generation,requested_size,wait_to_finish) 56 #define MONO_GC_REQUESTED_ENABLED() (0) 57 58 59 #define MONO_GC_CONCURRENT_START_BEGIN(generation) 60 #define MONO_GC_CONCURRENT_START_BEGIN_ENABLED() (0) 61 62 #define MONO_GC_CONCURRENT_UPDATE_FINISH_BEGIN(generation,num_major_objects_marked) 63 #define MONO_GC_CONCURRENT_UPDATE_FINISH_BEGIN_ENABLED() (0) 64 65 #define MONO_GC_SWEEP_BEGIN(generation,full_sweep) 66 #define MONO_GC_SWEEP_BEGIN_ENABLED() (0) 67 68 #define MONO_GC_SWEEP_END(generation,full_sweep) 69 #define MONO_GC_SWEEP_END_ENABLED() (0) 70 71 72 #define MONO_GC_WORLD_STOP_BEGIN() 73 #define MONO_GC_WORLD_STOP_BEGIN_ENABLED() (0) 74 75 #define MONO_GC_WORLD_STOP_END() 76 #define MONO_GC_WORLD_STOP_END_ENABLED() (0) 77 78 #define MONO_GC_WORLD_RESTART_BEGIN(generation) 79 #define MONO_GC_WORLD_RESTART_BEGIN_ENABLED() (0) 80 81 #define MONO_GC_WORLD_RESTART_END(generation) 82 #define MONO_GC_WORLD_RESTART_END_ENABLED() (0) 83 84 85 #define MONO_GC_NURSERY_TLAB_ALLOC(addr,len) 86 #define MONO_GC_NURSERY_TLAB_ALLOC_ENABLED() (0) 87 88 #define MONO_GC_NURSERY_OBJ_ALLOC(addr,size,ns_name,class_name) 89 #define MONO_GC_NURSERY_OBJ_ALLOC_ENABLED() (0) 90 91 92 #define MONO_GC_MAJOR_OBJ_ALLOC_LARGE(addr,size,ns_name,class_name) 93 #define MONO_GC_MAJOR_OBJ_ALLOC_LARGE_ENABLED() (0) 94 95 #define MONO_GC_MAJOR_OBJ_ALLOC_PINNED(addr,size,ns_name,class_name) 96 #define MONO_GC_MAJOR_OBJ_ALLOC_PINNED_ENABLED() (0) 97 98 #define MONO_GC_MAJOR_OBJ_ALLOC_DEGRADED(addr,size,ns_name,class_name) 99 #define MONO_GC_MAJOR_OBJ_ALLOC_DEGRADED_ENABLED() (0) 100 101 102 #define MONO_GC_OBJ_MOVED(dest,src,dest_gen,src_gen,size,ns_name,class_name) 103 #define MONO_GC_OBJ_MOVED_ENABLED() (0) 104 105 106 #define MONO_GC_NURSERY_SWEPT(addr,len) 107 #define MONO_GC_NURSERY_SWEPT_ENABLED() (0) 108 109 #define MONO_GC_MAJOR_SWEPT(addr,len) 110 #define MONO_GC_MAJOR_SWEPT_ENABLED() (0) 111 112 113 #define MONO_GC_OBJ_PINNED(addr,size,ns_name,class_name,generation) 114 #define MONO_GC_OBJ_PINNED_ENABLED() (0) 115 116 117 #define MONO_GC_FINALIZE_ENQUEUE(addr,size,ns_name,class_name,generation,is_critical) 118 #define MONO_GC_FINALIZE_ENQUEUE_ENABLED() (0) 119 120 #define MONO_GC_FINALIZE_INVOKE(addr,size,ns_name,class_name) 121 #define MONO_GC_FINALIZE_INVOKE_ENABLED() (0) 122 123 124 #define MONO_GC_WEAK_UPDATE(ref_addr,new_addr,size,ns_name,class_name,track) 125 #define MONO_GC_WEAK_UPDATE_ENABLED() (0) 126 127 128 #define MONO_GC_GLOBAL_REMSET_ADD(ref_addr,obj_addr,size,ns_name,class_name) 129 #define MONO_GC_GLOBAL_REMSET_ADD_ENABLED() (0) 130 131 #define MONO_GC_OBJ_CEMENTED(addr,size,ns_name,class_name) 132 #define MONO_GC_OBJ_CEMENTED_ENABLED() (0) 133 134 #endif 135 136 #endif 137