X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Fjit.h;h=5200da4dd91d8167ec790c67fc2bbd2a2d8d5b88;hb=100ecb4f0f7e901b593eaa35057a3f8aa2cdcaf7;hp=726c4a533c3b62ab059a06be365b0ede7b8f55c3;hpb=0f1a80a02e166a550a5cfc6e37500e451fd227c6;p=mono.git diff --git a/mono/mini/jit.h b/mono/mini/jit.h index 726c4a533c3..5200da4dd91 100644 --- a/mono/mini/jit.h +++ b/mono/mini/jit.h @@ -10,30 +10,57 @@ #include -G_BEGIN_DECLS +MONO_BEGIN_DECLS -MonoDomain * +MONO_API MonoDomain * mono_jit_init (const char *file); -MonoDomain * +MONO_API MonoDomain * mono_jit_init_version (const char *root_domain_name, const char *runtime_version); -int +MONO_API int mono_jit_exec (MonoDomain *domain, MonoAssembly *assembly, int argc, char *argv[]); -void +MONO_API void mono_jit_cleanup (MonoDomain *domain); -gboolean +MONO_API mono_bool mono_jit_set_trace_options (const char* options); -void -mono_set_signal_chaining (gboolean chain_signals); +MONO_API void +mono_set_signal_chaining (mono_bool chain_signals); -void -mono_jit_set_aot_only (gboolean aot_only); +MONO_API void +mono_set_crash_chaining (mono_bool chain_signals); -G_END_DECLS +MONO_API void +mono_jit_set_aot_only (mono_bool aot_only); + +/* Allow embedders to decide wherther to actually obey breakpoint instructions + * in specific methods (works for both break IL instructions and Debugger.Break () + * method calls). + */ +typedef enum { + /* the default is to always obey the breakpoint */ + MONO_BREAK_POLICY_ALWAYS, + /* a nop is inserted instead of a breakpoint */ + MONO_BREAK_POLICY_NEVER, + /* the breakpoint is executed only if the program has ben started under + * the debugger (that is if a debugger was attached at the time the method + * was compiled). + */ + MONO_BREAK_POLICY_ON_DBG +} MonoBreakPolicy; + +typedef MonoBreakPolicy (*MonoBreakPolicyFunc) (MonoMethod *method); +MONO_API void mono_set_break_policy (MonoBreakPolicyFunc policy_callback); + +MONO_API void +mono_jit_parse_options (int argc, char * argv[]); + +MONO_API char* mono_get_runtime_build_info (void); + +MONO_END_DECLS #endif