X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Fjit.h;h=95e690159ee2cfaa87e4032ea8f9e8aeb2164678;hb=4f8e1a7ff856db21b20515d64263638a873b6473;hp=66a37f04504c45ab8e42434e0b390d9eac9c25f9;hpb=c39d7ce9985a7067c1cbf44188007c9433901940;p=mono.git diff --git a/mono/mini/jit.h b/mono/mini/jit.h index 66a37f04504..95e690159ee 100644 --- a/mono/mini/jit.h +++ b/mono/mini/jit.h @@ -10,18 +10,54 @@ #include -G_BEGIN_DECLS +MONO_BEGIN_DECLS -MonoDomain * +MONO_API MonoDomain * mono_jit_init (const char *file); -int +MONO_API MonoDomain * +mono_jit_init_version (const char *root_domain_name, const char *runtime_version); + +MONO_API int mono_jit_exec (MonoDomain *domain, MonoAssembly *assembly, int argc, char *argv[]); -void +MONO_API void mono_jit_cleanup (MonoDomain *domain); -G_END_DECLS +MONO_API mono_bool +mono_jit_set_trace_options (const char* options); + +MONO_API void +mono_set_signal_chaining (mono_bool chain_signals); + +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