X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Fjit.h;h=ed5eca5248beb4e1d7bff51a183720e7cc3e2498;hb=b657c7b0e60f46a0e920cf165933efe120b6b479;hp=95e690159ee2cfaa87e4032ea8f9e8aeb2164678;hpb=a2850fc7dae0cf969b5d680a20496ac16526dcb8;p=mono.git diff --git a/mono/mini/jit.h b/mono/mini/jit.h index 95e690159ee..ed5eca5248b 100644 --- a/mono/mini/jit.h +++ b/mono/mini/jit.h @@ -30,9 +30,35 @@ mono_jit_set_trace_options (const char* options); MONO_API void mono_set_signal_chaining (mono_bool chain_signals); +MONO_API void +mono_set_crash_chaining (mono_bool chain_signals); + +/** + * This function is deprecated, use mono_jit_set_aot_mode instead. + */ MONO_API void mono_jit_set_aot_only (mono_bool aot_only); +/** + * Allows control over our AOT (Ahead-of-time) compilation mode. + */ +typedef enum { + /* Disables AOT mode */ + MONO_AOT_MODE_NONE, + /* Enables normal AOT mode, equivalent to mono_jit_set_aot_only (false) */ + MONO_AOT_MODE_NORMAL, + /* Enables hybrid AOT mode, JIT can still be used for wrappers */ + MONO_AOT_MODE_HYBRID, + /* Enables full AOT mode, JIT is disabled and not allowed, + * equivalent to mono_jit_set_aot_only (true) */ + MONO_AOT_MODE_FULL, + /* Same as full, but use only llvm compiled code */ + MONO_AOT_MODE_LLVMONLY +} MonoAotMode; + +MONO_API void +mono_jit_set_aot_mode (MonoAotMode mode); + /* Allow embedders to decide wherther to actually obey breakpoint instructions * in specific methods (works for both break IL instructions and Debugger.Break () * method calls). @@ -57,6 +83,14 @@ mono_jit_parse_options (int argc, char * argv[]); MONO_API char* mono_get_runtime_build_info (void); +/* The following APIs are not stable. Avoid if possible. */ + +MONO_API MonoJitInfo * +mono_get_jit_info_from_method (MonoDomain *domain, MonoMethod *method); + +MONO_API MONO_RT_EXTERNAL_ONLY void * +mono_aot_get_method (MonoDomain *domain, MonoMethod *method); + MONO_END_DECLS #endif