[interp aot] documentation
[mono.git] / man / mono.1
index 352c10b6ce69e613eb66bca17a4e1d2ffaffd284..e822ff94c89b2aa98b745633ab4fcff87fbdb2ba 100644 (file)
@@ -155,11 +155,11 @@ runtime.
 .TP
 .I full
 .Sp
-This creates binaries which can be used with the --full-aot option. This feature is experimental.
+This creates binaries which can be used with the --full-aot option.
 .TP
 .I hybrid
 .Sp
-This creates binaries which can be used with the --hybrid-aot option. This feature is experimental.
+This creates binaries which can be used with the --hybrid-aot option.
 .TP
 .I llvm
 AOT will be performed with the LLVM backend instead of the Mono backend where possible. This will be slower to compile but most likely result in a performance improvement.
@@ -181,6 +181,16 @@ Gives the path for the temporary LLVM bitcode file created during AOT.
 .I info
 Print the architecture the AOT in this copy of Mono targets and quit.
 .TP
+.I interp
+Generates all required wrappers, so that it is possible to run --interpreter without
+any code generation at runtime.  This option only makes sense with \fBmscorlib.dll\fR.
+Embedders can set
+
+.nf
+mono_jit_set_aot_mode (MONO_AOT_MODE_INTERP);
+.fi
+.ne
+.TP
 .I ld-flags
 Additional flags to pass to the C linker (if the current AOT mode calls for invoking it).
 .TP
@@ -311,6 +321,26 @@ Instructs the AOT compiler to emit (or not emit) debug symbol information.
 For more information about AOT, see: http://www.mono-project.com/docs/advanced/aot/
 .RE
 .TP
+\fB--aot-path=PATH\fR
+List of additional directories to search for AOT images.
+.TP
+\fB--apply-bindings=FILE\fR
+Apply the assembly bindings from the specified configuration file when running
+the AOT compiler.  This is useful when compiling an auxiliary assembly that is
+referenced by a main assembly that provides a configuration file.  For example,
+if app.exe uses lib.dll then in order to make the assembly bindings from
+app.exe.config available when compiling lib.dll ahead of time, use:
+.nf
+       mono --apply-bindings=app.exe.config --aot lib.dll
+.fi
+.TP
+\fB--assembly-loader=MODE\fR
+If mode is \fBstrict\fR, Mono will check that the public key token, culture and version
+of a candidate assembly matches the requested strong name.  If mode is \fBlegacy\fR, as
+long as the name matches, the candidate will be allowed. \fBstrict\fR is the behavior
+consistent with .NET Framework but may break some existing mono-based applications.
+The default is \fBlegacy\fR.
+.TP
 \fB--attach=[options]\fR
 Currently the only option supported by this command line argument is
 \fBdisable\fR which disables the attach functionality.
@@ -321,9 +351,6 @@ The default files are /etc/mono/config and ~/.mono/config or the file
 specified in the MONO_CONFIG environment variable, if set.  See the
 mono-config(5) man page for details on the format of this file.
 .TP
-\fB--aot-path=PATH\fR
-List of additional directories to search for AOT images.
-.TP
 \fB--debugger-agent=[options]\fR 
 This instructs the Mono runtime to
 start a debugging agent inside the Mono runtime and connect it to a
@@ -382,7 +409,7 @@ the heap as much as possible at the expense of slowing down garbage
 collection a bit.
 .TP
 \fB--full-aot\fR
-This is an experimental flag that instructs the Mono runtime to not
+This flag instructs the Mono runtime to not
 generate any code at runtime and depend exclusively on the code
 generated from using mono --aot=full previously.  This is useful for
 platforms that do not permit dynamic code generation, or if you need
@@ -418,7 +445,7 @@ will switch to '/bin/mono64' iff '/bin/mono' is a 32-bit build).
 Displays usage instructions.
 .TP
 \fB--hybrid-aot\fR
-This is an experimental flag that allows the Mono runtime to run assemblies
+This flag allows the Mono runtime to run assemblies
 that have been stripped of IL, for example using mono-cil-strip. For this to
 work, the assembly must have been AOT compiled with --aot=hybrid.
 
@@ -1074,11 +1101,6 @@ code generation backend.   For example \fBLLVM_COUNT=10\fR would only
 compile 10 methods with LLVM and then switch to the Mono JIT engine.
 \fBLLVM_COUNT=0\fR would disable the LLVM engine altogether.
 .TP
-\fBMONO_AOT_CACHE\fR
-If set, this variable will instruct Mono to ahead-of-time compile new
-assemblies on demand and store the result into a cache in
-~/.mono/aot-cache. 
-.TP
 \fBMONO_ASPNET_INHIBIT_SETTINGSMAP\fR
 Mono contains a feature which allows modifying settings in the .config files shipped
 with Mono by using config section mappers. The mappers and the mapping rules are