Imported Upstream version 5.2.0.175

Former-commit-id: bb0468d0f257ff100aa895eb5fe583fb5dfbf900
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2017-06-07 13:16:24 +00:00
parent 4bdbaf4a88
commit 966bba02bb
8776 changed files with 346420 additions and 149650 deletions

View File

@ -258,7 +258,10 @@ getMessage ()
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_jit_init</div>
<div class="mapi-prototype">MonoDomain*
mono_jit_init (const char *file)
</div>
<p />
</div><!--mapi-description -->
</div><!--height container -->
@ -273,8 +276,13 @@ getMessage ()
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_jit_parse_options</div>
<div class="mapi-prototype">void
mono_jit_parse_options (int argc, char * argv[])
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> Process the command line options in <i>argv</i> as done by the runtime executable. This should be called before <code>mono_jit_init</code>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -294,9 +302,8 @@ mono_jit_exec (MonoDomain *domain, MonoAssembly *assembly, int argc, char *argv[
</div>
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>assembly</i><td> reference to an assembly</td></td></tr><tr><td><i>argc</i><td> argument count</td></td></tr><tr><td><i>argv</i><td> argument vector</td></td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p />
Start execution of a program.</div>
<table class="mapi-parameters"><tbody><tr><td><i>assembly</i></td><td> reference to an assembly</td></tr><tr><td><i>argc</i></td><td> argument count</td></tr><tr><td><i>argv</i></td><td> argument vector</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Start execution of a program.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -316,27 +323,8 @@ mono_set_dirs (const char *assembly_dir, const char *config_dir)
</div>
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>assembly_dir</i><td> the base directory for assemblies</td></td></tr><tr><td><i>config_dir</i><td> the base directory for configuration files</td></td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p />
This routine is used internally and by developers embedding
the runtime into their own applications.
<p />
There are a number of cases to consider: Mono as a system-installed
package that is available on the location preconfigured or Mono in
a relocated location.
<p />
If you are using a system-installed Mono, you can pass <code>NULL</code>
to both parameters. If you are not, you should compute both
directory values and call this routine.
<p />
The values for a given PREFIX are:
<p />
assembly_dir: PREFIX/lib
config_dir: PREFIX/etc
<p />
Notice that embedders that use Mono in a relocated way must
compute the location at runtime, as they will be in control
of where Mono is installed.</div>
<table class="mapi-parameters"><tbody><tr><td><i>assembly_dir</i></td><td> the base directory for assemblies</td></tr><tr><td><i>config_dir</i></td><td> the base directory for configuration files</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> This routine is used internally and by developers embedding the runtime into their own applications. <p /> There are a number of cases to consider: Mono as a system-installed package that is available on the location preconfigured or Mono in a relocated location. <p /> If you are using a system-installed Mono, you can pass <code>NULL</code> to both parameters. If you are not, you should compute both directory values and call this routine. <p /> The values for a given PREFIX are: <p /> assembly_dir: PREFIX/lib config_dir: PREFIX/etc <p /> Notice that embedders that use Mono in a relocated way must compute the location at runtime, as they will be in control of where Mono is installed.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -350,7 +338,10 @@ mono_set_dirs (const char *assembly_dir, const char *config_dir)
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_parse_default_optimizations</div>
<div class="mapi-prototype">int
mono_parse_default_optimizations (const char* p)
</div>
<p />
</div><!--mapi-description -->
</div><!--height container -->
@ -371,10 +362,8 @@ mono_runtime_set_main_args (int argc, char* argv[])
</div>
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>argc</i><td> number of arguments from the command line</td></td></tr><tr><td><i>argv</i><td> array of strings from the command line</td></td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p />
Set the command line arguments from an embedding application that doesn't otherwise call
mono_runtime_run_main ().</div>
<table class="mapi-parameters"><tbody><tr><td><i>argc</i></td><td> number of arguments from the command line</td></tr><tr><td><i>argv</i></td><td> array of strings from the command line</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Set the command line arguments from an embedding application that doesn't otherwise call <code>mono_runtime_run_main</code>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -388,7 +377,10 @@ mono_runtime_set_main_args (int argc, char* argv[])
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_jit_cleanup</div>
<div class="mapi-prototype">void
mono_jit_cleanup (MonoDomain *domain)
</div>
<p />
</div><!--mapi-description -->
</div><!--height container -->
@ -409,14 +401,11 @@ mono_jit_set_trace_options (const char* options)
</div>
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>options</i><td> string representing the trace options</td></td></tr></tbody></table> <div class="mapi-section">Return value</div>
<div> #<code>TRUE</code> if the options where parsed and set correctly, #<code>FALSE</code> otherwise.
<table class="mapi-parameters"><tbody><tr><td><i>options</i></td><td> string representing the trace options</td></tr></tbody></table> <div class="mapi-section">Return value</div>
<div> <code>TRUE</code> if the options were parsed and set correctly, <code>FALSE</code> otherwise.
</div>
<div class="mapi-section">Description</div>
<div> <p />
Set the options of the tracing engine. This function can be called before initializing
the mono runtime. See the --trace mono(1) manpage for the options format.
<p /></div>
<div> Set the options of the tracing engine. This function can be called before initializing the mono runtime. See the --trace mono(1) manpage for the options format. <p /></div>
</div><!--mapi-description -->
</div><!--height container -->
@ -455,38 +444,8 @@ mono_add_internal_call (const char *name, gconstpointer method)
</div>
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>name</i><td> method specification to surface to the managed world</td></td></tr><tr><td><i>method</i><td> pointer to a C method to invoke when the method is called</td></td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p />
This method surfaces the C function pointed by <i>method</i> as a method
that has been surfaced in managed code with the method specified in
<i>name</i> as an internal call.
<p />
Internal calls are surfaced to all app domains loaded and they are
accessibly by a type with the specified name.
<p />
You must provide a fully qualified type name, that is namespaces
and type name, followed by a colon and the method name, with an
optional signature to bind.
<p />
For example, the following are all valid declarations:
<p />
&quot;MyApp.Services.ScriptService:Accelerate&quot;
&quot;MyApp.Services.ScriptService:Slowdown(int,bool)&quot;
<p />
You use method parameters in cases where there might be more than
one surface method to managed code. That way you can register different
internal calls for different method overloads.
<p />
The internal calls are invoked with no marshalling. This means that .NET
types like System.String are exposed as `MonoString *` parameters. This is
different than the way that strings are surfaced in P/Invoke.
<p />
For more information on how the parameters are marshalled, see the
<a href="http://www.mono-project.com/docs/advanced/embedding/">Mono Embedding</a>
page.
<p />
See the <a href="mono-api-methods.html&lt;code&gt;method&lt;/code&gt;-desc">Method Description</a>
reference for more information on the format of method descriptions.</div>
<table class="mapi-parameters"><tbody><tr><td><i>name</i></td><td> method specification to surface to the managed world</td></tr><tr><td><i>method</i></td><td> pointer to a C method to invoke when the method is called</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> This method surfaces the C function pointed by <i>method</i> as a method that has been surfaced in managed code with the method specified in <i>name</i> as an internal call. <p /> Internal calls are surfaced to all app domains loaded and they are accessibly by a type with the specified name. <p /> You must provide a fully qualified type name, that is namespaces and type name, followed by a colon and the method name, with an optional signature to bind. <p /> For example, the following are all valid declarations: <p /> <code>MyApp.Services.ScriptService:Accelerate</code> <p /> <code>MyApp.Services.ScriptService:Slowdown(int,bool)</code> <p /> You use method parameters in cases where there might be more than one surface method to managed code. That way you can register different internal calls for different method overloads. <p /> The internal calls are invoked with no marshalling. This means that .NET types like <code>System.String</code> are exposed as <code>MonoString*</code> parameters. This is different than the way that strings are surfaced in P/Invoke. <p /> For more information on how the parameters are marshalled, see the <a href="http://www.mono-project.com/docs/advanced/embedding/">Mono Embedding</a> page. <p /> See the <a href="mono-api-methods.html&lt;code&gt;method&lt;/code&gt;-desc">Method Description</a> reference for more information on the format of method descriptions.</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -566,7 +525,10 @@ mono_add_internal_call (const char *name, gconstpointer method)
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_config_cleanup</div>
<div class="mapi-prototype">void
mono_config_cleanup (void)
</div>
<p />
</div><!--mapi-description -->
</div><!--height container -->
@ -581,7 +543,10 @@ mono_add_internal_call (const char *name, gconstpointer method)
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_config_is_server_mode</div>
<div class="mapi-prototype">mono_bool
mono_config_is_server_mode (void)
</div>
<p />
</div><!--mapi-description -->
</div><!--height container -->
@ -601,10 +566,8 @@ mono_config_parse (const char *filename)
</div>
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>filename</i><td> the filename to load the configuration variables from.</td></td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p />
Pass a <code>NULL</code> filename to parse the default config files
(or the file in the MONO_CONFIG env var).</div>
<table class="mapi-parameters"><tbody><tr><td><i>filename</i></td><td> the filename to load the configuration variables from.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Pass a <code>NULL</code> filename to parse the default config files (or the file in the <code>MONO_CONFIG</code> env var).</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -624,9 +587,8 @@ mono_config_parse_memory (const char *buffer)
</div>
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>buffer</i><td> a pointer to an string XML representation of the configuration</td></td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p />
Parses the configuration from a buffer</div>
<table class="mapi-parameters"><tbody><tr><td><i>buffer</i></td><td> a pointer to an string XML representation of the configuration</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Parses the configuration from a buffer</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -640,7 +602,10 @@ mono_config_parse_memory (const char *buffer)
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_config_set_server_mode</div>
<div class="mapi-prototype">void
mono_config_set_server_mode (mono_bool server_mode)
</div>
<p />
</div><!--mapi-description -->
</div><!--height container -->
@ -655,7 +620,10 @@ mono_config_parse_memory (const char *buffer)
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_config_string_for_assembly_file</div>
<div class="mapi-prototype">const char *
mono_config_string_for_assembly_file (const char *filename)
</div>
<p />
</div><!--mapi-description -->
</div><!--height container -->
@ -670,7 +638,10 @@ mono_config_parse_memory (const char *buffer)
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_get_config_dir</div>
<div class="mapi-prototype">const char*
mono_get_config_dir (void)
</div>
<p />
</div><!--mapi-description -->
</div><!--height container -->
@ -685,7 +656,10 @@ mono_config_parse_memory (const char *buffer)
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_get_machine_config</div>
<div class="mapi-prototype">const char *
mono_get_machine_config (void)
</div>
<p />
</div><!--mapi-description -->
</div><!--height container -->
@ -700,7 +674,10 @@ mono_config_parse_memory (const char *buffer)
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_register_machine_config</div>
<div class="mapi-prototype">void
mono_register_machine_config (const char *config_xml)
</div>
<p />
</div><!--mapi-description -->
</div><!--height container -->
@ -715,8 +692,13 @@ mono_config_parse_memory (const char *buffer)
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_set_config_dir</div>
<div class="mapi-prototype">void
mono_set_config_dir (const char *dir)
</div>
<p />
<div class="mapi-section">Description</div>
<div> Invoked during startup</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -745,17 +727,8 @@ mono_runtime_exec_managed_code (MonoDomain *domain,
</div>
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>domain</i><td> Application domain</td></td></tr><tr><td><i>main_func</i><td> function to invoke from the execution thread</td></td></tr><tr><td><i>main_args</i><td> parameter to the main_func</td></td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p />
Launch a new thread to execute a function
<p />
main_func is called back from the thread with main_args as the
parameter. The callback function is expected to start Main()
eventually. This function then waits for all managed threads to
finish.
It is not necesseray anymore to execute managed code in a subthread,
so this function should not be used anymore by default: just
execute the code and then call mono_thread_manage ().</div>
<table class="mapi-parameters"><tbody><tr><td><i>domain</i></td><td> Application domain</td></tr><tr><td><i>main_func</i></td><td> function to invoke from the execution thread</td></tr><tr><td><i>main_args</i></td><td> parameter to the main_func</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Launch a new thread to execute a function <p /> <i>main_func</i> is called back from the thread with main_args as the parameter. The callback function is expected to start <code>Main</code> eventually. This function then waits for all managed threads to finish. It is not necessary anymore to execute managed code in a subthread, so this function should not be used anymore by default: just execute the code and then call mono_thread_manage().</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -790,16 +763,10 @@ mono_init (const char *domain_name)
</div>
<p />
<div class="mapi-section">Return value</div>
<div> the initial domain.
<div> the initial domain.
</div>
<div class="mapi-section">Description</div>
<div> <p />
Creates the initial application domain and initializes the mono_defaults
structure.
<p />
This function is guaranteed to not run any IL code.
The runtime is initialized using the default runtime version.
<p /></div>
<div> <p /> Creates the initial application domain and initializes the mono_defaults structure. <p /> This function is guaranteed to not run any IL code. The runtime is initialized using the default runtime version. <p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -819,20 +786,11 @@ mono_init_from_assembly (const char *domain_name, const char *filename)
</div>
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>domain_name</i><td> name to give to the initial domain</td></td></tr><tr><td><i>filename</i><td> filename to load on startup</td></td></tr></tbody></table> <div class="mapi-section">Return value</div>
<div> the initial domain.
<table class="mapi-parameters"><tbody><tr><td><i>domain_name</i></td><td> name to give to the initial domain</td></tr><tr><td><i>filename</i></td><td> filename to load on startup</td></tr></tbody></table> <div class="mapi-section">Return value</div>
<div> the initial domain.
</div>
<div class="mapi-section">Description</div>
<div> <p />
Used by the runtime, users should use mono_jit_init instead.
<p />
Creates the initial application domain and initializes the mono_defaults
structure.
This function is guaranteed to not run any IL code.
The runtime is initialized using the runtime version required by the
provided executable. The version is determined by looking at the exe
configuration file and the version PE field)
<p /></div>
<div> <p /> Used by the runtime, users should use mono_jit_init instead. <p /> Creates the initial application domain and initializes the mono_defaults structure. This function is guaranteed to not run any IL code. The runtime is initialized using the runtime version required by the provided executable. The version is determined by looking at the exe configuration file and the version PE field) <p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -852,18 +810,10 @@ mono_init_version (const char *domain_name, const char *version)
</div>
<p />
<div class="mapi-section">Return value</div>
<div> the initial domain.
<div> the initial domain.
</div>
<div class="mapi-section">Description</div>
<div> <p />
Used by the runtime, users should use mono_jit_init instead.
<p />
Creates the initial application domain and initializes the mono_defaults
structure.
<p />
This function is guaranteed to not run any IL code.
The runtime is initialized using the provided rutime version.
<p /></div>
<div> <p /> Used by the runtime, users should use <code>mono_jit_init</code> instead. <p /> Creates the initial application domain and initializes the <code>mono_defaults</code> structure. <p /> This function is guaranteed to not run any IL code. The runtime is initialized using the provided rutime version. <p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -883,9 +833,8 @@ mono_jit_exec (MonoDomain *domain, MonoAssembly *assembly, int argc, char *argv[
</div>
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>assembly</i><td> reference to an assembly</td></td></tr><tr><td><i>argc</i><td> argument count</td></td></tr><tr><td><i>argv</i><td> argument vector</td></td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p />
Start execution of a program.</div>
<table class="mapi-parameters"><tbody><tr><td><i>assembly</i></td><td> reference to an assembly</td></tr><tr><td><i>argc</i></td><td> argument count</td></tr><tr><td><i>argv</i></td><td> argument vector</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Start execution of a program.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -899,7 +848,10 @@ mono_jit_exec (MonoDomain *domain, MonoAssembly *assembly, int argc, char *argv[
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_jit_set_aot_mode</div>
<div class="mapi-prototype">void
mono_jit_set_aot_mode (MonoAotMode mode)
</div>
<p />
</div><!--mapi-description -->
</div><!--height container -->
@ -920,18 +872,8 @@ mono_set_break_policy (MonoBreakPolicyFunc policy_callback)
</div>
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>policy_callback</i><td> the new callback function</td></td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p />
Allow embedders to decide wherther to actually obey breakpoint instructions
(both break IL instructions and Debugger.Break () method calls), for example
to not allow an app to be aborted by a perfectly valid IL opcode when executing
untrusted or semi-trusted code.
<p />
<i>policy_callback</i> will be called every time a break point instruction needs to
be inserted with the method argument being the method that calls Debugger.Break()
or has the IL break instruction. The callback should return <code>MONO_BREAK_POLICY_NEVER</code>
if it wants the breakpoint to not be effective in the given method.
<code>MONO_BREAK_POLICY_ALWAYS</code> is the default.</div>
<table class="mapi-parameters"><tbody><tr><td><i>policy_callback</i></td><td> the new callback function</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Allow embedders to decide wherther to actually obey breakpoint instructions (both break IL instructions and <code>Debugger.Break</code> method calls), for example to not allow an app to be aborted by a perfectly valid IL opcode when executing untrusted or semi-trusted code. <p /> <i>policy_callback</i> will be called every time a break point instruction needs to be inserted with the method argument being the method that calls <code>Debugger.Break</code> or has the IL <code>break</code> instruction. The callback should return <code>MONO_BREAK_POLICY_NEVER</code> if it wants the breakpoint to not be effective in the given method. <code>MONO_BREAK_POLICY_ALWAYS</code> is the default.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -950,11 +892,11 @@ mono_get_runtime_build_info (void)
</div>
<p />
<div class="mapi-section">Return value</div>
<div> the runtime version + build date in string format.
</div>
<div class="mapi-section">Description</div>
<div> <p />
Return the runtime version + build date in string format.
The returned string is owned by the caller. The returned string
format is &quot;VERSION (FULL_VERSION BUILD_DATE)&quot; and build date is optional.</div>
<div> The returned string is owned by the caller. The returned string format is <code>VERSION (FULL_VERSION BUILD_DATE)</code> and build date is optional.</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -977,18 +919,6 @@ mono_set_signal_chaining (gboolean chain_signals)
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p />
Enable/disable signal chaining. This should be called before mono_jit_init ().
If signal chaining is enabled, the runtime saves the original signal handlers before
installing its own handlers, and calls the original ones in the following cases:
- a SIGSEGV/SIGABRT signal received while executing native (i.e. not JITted) code.
- SIGPROF
- SIGFPE
- SIGQUIT
- SIGUSR2
Signal chaining only works on POSIX platforms.</div>
<div> <p /> Enable/disable signal chaining. This should be called before <code>mono_jit_init</code>. If signal chaining is enabled, the runtime saves the original signal handlers before installing its own handlers, and calls the original ones in the following cases: - a <code>SIGSEGV</code> / <code>SIGABRT</code> signal received while executing native (i.e. not JITted) code. - <code>SIGPROF</code> - <code>SIGFPE</code> - <code>SIGQUIT</code> - <code>SIGUSR2</code> Signal chaining only works on POSIX platforms.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div>
</div></body>
</html>