X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Ftrace.h;h=6f6d3a0dcac4aa3215d618d84d670901d38f8c8c;hb=986ee2362b6308539968e84b1269d64bb21c8576;hp=a7f884fb250f8a11fea63af9a7f41f16e13582ba;hpb=ff228e1c801bda9666b6edab3ee962e05edcf480;p=mono.git diff --git a/mono/mini/trace.h b/mono/mini/trace.h index a7f884fb250..6f6d3a0dcac 100644 --- a/mono/mini/trace.h +++ b/mono/mini/trace.h @@ -1,5 +1,7 @@ #ifndef __MONO_TRACE_H__ #define __MONO_TRACE_H__ +#include +#include "mono/utils/mono-compiler.h" typedef enum { MONO_TRACEOP_ALL, @@ -7,7 +9,8 @@ typedef enum { MONO_TRACEOP_METHOD, MONO_TRACEOP_ASSEMBLY, MONO_TRACEOP_CLASS, - MONO_TRACEOP_NAMESPACE + MONO_TRACEOP_NAMESPACE, + MONO_TRACEOP_EXCEPTION, } MonoTraceOpcode; typedef struct { @@ -18,15 +21,24 @@ typedef struct { struct MonoTraceSpec { int len; + gboolean enabled; MonoTraceOperation *ops; MonoAssembly *assembly; }; +G_BEGIN_DECLS + void -mono_trace_enter_method (MonoMethod *method, char *ebp); +mono_trace_enter_method (MonoMethod *method, char *ebp) MONO_INTERNAL; void -mono_trace_leave_method (MonoMethod *method, ...); +mono_trace_leave_method (MonoMethod *method, ...) MONO_INTERNAL; + +void mono_trace_enable (gboolean enable) MONO_INTERNAL; +gboolean mono_trace_is_enabled (void) MONO_INTERNAL; +gboolean mono_trace_eval_exception (MonoClass *klass) MONO_INTERNAL; + +G_END_DECLS #endif /* __MONO_TRACE_H__ */