Merge pull request #200 from ch5oh/master
[mono.git] / man / mono.1
index 857f391357736181a888a92610ff16ae6303e4ad..9220f1cfa5d5aa0bfd6ba2f639dc0fb62693b6ee 100644 (file)
@@ -192,6 +192,19 @@ Same for the llvm tools 'opt' and 'llc'.
 .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
@@ -920,6 +933,13 @@ This is can also be enabled by default by passing the
 .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
@@ -936,6 +956,10 @@ a Mono process through the environment.   This is useful for example
 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
@@ -1021,6 +1045,11 @@ for the fixed-heap Mark&Sweep collector (i.e. `marksweep-fixed' and
 `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
@@ -1068,6 +1097,17 @@ words.  Do not use these options in production.
 \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
@@ -1100,6 +1140,13 @@ scanning is available.
 \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.