Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mono / mini / jit.h
index 59e713da790443c5c6201607af18213f34d1351f..3a91c13f0d56369aeee04453a39dfd3e1e577514 100644 (file)
@@ -54,12 +54,24 @@ typedef enum {
         * 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
+       MONO_AOT_MODE_LLVMONLY,
+       /* Uses Interpreter, JIT is disabled and not allowed,
+        * equivalent to "--full-aot --interpreter" */
+       MONO_AOT_MODE_INTERP,
+       /* Same as INTERP, but use only llvm compiled code */
+       MONO_AOT_MODE_INTERP_LLVMONLY,
 } MonoAotMode;
 
 MONO_API void
 mono_jit_set_aot_mode      (MonoAotMode mode);
 
+/*
+ * Returns whether the runtime was invoked for the purpose of AOT-compiling an
+ * assembly, i.e. no managed code will run.
+ */
+MONO_API mono_bool
+mono_jit_aot_compiling (void);
+
 /* Allow embedders to decide wherther to actually obey breakpoint instructions
  * in specific methods (works for both break IL instructions and Debugger.Break ()
  * method calls).
@@ -84,14 +96,6 @@ 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