.TP
.I stats
Print various stats collected during AOT compilation.
+.TP
+.I readonly-value=namespace.typename.fieldname=type/value
+Override the value of a static readonly field. Usually, during JIT
+compilation, the static constructor is ran eagerly, so the value of
+a static readonly field is known at compilation time and the compiler
+can do a number of optimizations based on it. During AOT, instead, the static
+constructor can't be ran, so this option can be used to set the value of such
+a field and enable the same set of optimizations.
+Type can be any of i1, i2, i4 for integers of the respective sizes (in bytes).
+Note that signed/unsigned numbers do not matter here, just the storage size.
+This option can be specified multiple times and it doesn't prevent the static
+constructor for the type defining the field to execute with the usual rules
+at runtime (hence possibly computing a different value for the field).
.PP
For more information about AOT, see: http://www.mono-project.com/AOT
.Sp
This is the default from mono 2.8 onwards.
.TP
+\fBMONO_DNS\fR
+When set, enables the use of a fully managed DNS resolver instead of the
+regular libc functions. This resolver performs much better when multiple
+queries are run in parallel.
+
+Note that /etc/nsswitch.conf will be ignored.
+.TP
\fBMONO_EGD_SOCKET\fR
For platforms that do not otherwise have a way of obtaining random bytes
this can be set to the name of a file system socket on which an egd or
to force all of your Mono processes to use LLVM or SGEN without having
to modify any launch scripts.
.TP
+\fBMONO_ENV_OPTIONS\fR
+Used to pass extra options to the debugger agent in the runtime, as they were passed
+using --debugger-agent=.
+.TP
\fBMONO_EVENTLOG_TYPE\fR
Sets the type of event log provider to use (for System.Diagnostics.EventLog).
.Sp
`k', `m' and `g' to specify kilo-, mega- and gigabytes, respectively.
The default is 512 megabytes.
.TP
+\fBsoft-heap-limit=\fIsize\fR
+Once the heap size gets larger than this size, ignore what the default
+major collection trigger metric says and only allow four nursery size's
+of major heap growth between major collections.
+.TP
\fBwbarrier=\fIwbarrier\fR
Specifies which write barrier to use. Options are `cardtable' and
`remset'. The card table barrier is faster but less precise, and only
\fInumber\fR
Sets the debug level to the specified number.
.TP
+\fBprint-allowance\fR
+After each major collection prints memory consumption for before and
+after the collection and the allowance for the minor collector, i.e. how
+much the heap is allowed to grow from minor collections before the next
+major collection is triggered.
+.TP
+\fBprint-pinning\fR
+Gathers statistics on the classes whose objects are pinned in the
+nursery and for which global remset entries are added. Prints those
+statistics when shutting down.
+.TP
\fBcollect-before-allocs\fR
.TP
\fBcheck-at-minor-collections\fR
\fBcheck-scan-starts\fR
If set, does a plausibility check on the scan_starts before and after each collection
.TP
+\fBverify-nursery-at-minor-gc\fR
+If set, does a complete object walk of the nursery at the start of each minor collection.
+.TP
+\fBdump-nursery-at-minor-gc\fR
+If set, dumps the contents of the nursery at the start of each minor collection. Requires
+verify-nursery-at-minor-gc to be set.
+.TP
\fBheap-dump=\fIfile\fR
Dumps the heap contents to the specified file. To visualize the
information, use the mono-heapviz tool.