Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > media > main-release > by-pkgid > cce607a8c492c8ede8e5451290758926 > files > 48

mono-doc-2.6.4-4mdv2010.1.x86_64.rpm

<?xml version="1.0" encoding="us-ascii"?><span>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
   <title>mono-api-codegen.html</title>
   <style type="text/css">


   h3 { 
       font-size: 18px;
       padding-bottom: 4pt;
       border-bottom: 2px solid #dddddd;
   }
       
   .api {
     border: 1px solid;
     padding: 10pt;
     margin: 10pt;
   } 

   .api-entry { 
       border-bottom: none;
       font-size: 18px;
   }

   .prototype {
     border: 1px solid;
     background-color: #f2f2f2;
     padding: 5pt;
     margin-top: 5pt;
     margin-bottom: 5pt;  
   } 

   .header {
     border: 1px solid;
     padding: 0 0 5pt 5pt;
     margin: 10pt;
     white-space: pre;
       font-family: monospace;
   }
    
   .code {
     border: 1px solid;
     padding: 0 0 5pt 5pt;
     margin: 10pt;
     white-space: pre;
       font-family: monospace;
   }
   

</style>
</head>
<body>
<h3>Code manager</h3>

 <a name="api:mono_code_manager_commit"></a>
 <div class="api">
    <div class="api-entry">mono_code_manager_commit</div>

    <div class="prototype">void
mono_code_manager_commit (MonoCodeManager *cman, void *data, int size, int newsize)

</div>
<p />
<b>Parameters</b>
<blockquote><dt><i>cman:</i></dt><dd> a code manager</dd><dt><i>data:</i></dt><dd> the pointer returned by mono_code_manager_reserve ()</dd><dt><i>size:</i></dt><dd> the size requested in the call to mono_code_manager_reserve ()</dd><dt><i>newsize:</i></dt><dd> the new size to reserve</dd></blockquote>
<b>Remarks</b>
<p />	 
	 If we reserved too much room for a method and we didn't allocate
	 already from the code manager, we can get back the excess allocation
	 for later use in the code manager.

</div> <a name="api:mono_code_manager_destroy"></a>
 <div class="api">
    <div class="api-entry">mono_code_manager_destroy</div>

    <div class="prototype">void
mono_code_manager_destroy (MonoCodeManager *cman)

</div>
<p />
<b>Parameters</b>
<blockquote><dt><i>cman:</i></dt><dd> a code manager</dd></blockquote>
<b>Remarks</b>
<p />	 
	 Free all the memory associated with the code manager <i>cman</i>.

</div> <a name="api:mono_code_manager_foreach"></a>
 <div class="api">
    <div class="api-entry">mono_code_manager_foreach</div>

    <div class="prototype">void
mono_code_manager_foreach (MonoCodeManager *cman, MonoCodeManagerFunc func, void *user_data)

</div>
<p />
<b>Parameters</b>
<blockquote><dt><i>cman:</i></dt><dd> a code manager</dd><dt><i>func:</i></dt><dd> a callback function pointer</dd><dt><i>user_data:</i></dt><dd> additional data to pass to <i>func</i></dd></blockquote>
<b>Remarks</b>
<p />	 
	 Invokes the callback <i>func</i> for each different chunk of memory allocated
	 in the code manager <i>cman</i>.

</div> <a name="api:mono_code_manager_invalidate"></a>
 <div class="api">
    <div class="api-entry">mono_code_manager_invalidate</div>

    <div class="prototype">void             
mono_code_manager_invalidate (MonoCodeManager *cman)

</div>
<p />
<b>Parameters</b>
<blockquote><dt><i>cman:</i></dt><dd> a code manager</dd></blockquote>
<b>Remarks</b>
<p />	 
	 Fill all the memory with an invalid native code value
	 so that any attempt to execute code allocated in the code
	 manager <i>cman</i> will fail. This is used for debugging purposes.

</div> <a name="api:mono_code_manager_new_dynamic"></a>
 <div class="api">
    <div class="api-entry">mono_code_manager_new_dynamic</div>

    <div class="prototype">MonoCodeManager* 
mono_code_manager_new_dynamic (void)

</div>
<p />
<b>Returns</b>
<blockquote>	  the new code manager
</blockquote>
<b>Remarks</b>
<p />	 
	 Creates a new code manager suitable for holding native code that can be
	 used for single or small methods that need to be deallocated independently
	 of other native code.
	

</div> <a name="api:mono_code_manager_new"></a>
 <div class="api">
    <div class="api-entry">mono_code_manager_new</div>

    <div class="prototype">MonoCodeManager* 
mono_code_manager_new (void)

</div>
<p />
<b>Returns</b>
<blockquote>	  the new code manager
</blockquote>
<b>Remarks</b>
<p />	 
	 Creates a new code manager. A code manager can be used to allocate memory
	 suitable for storing native code that can be later executed.
	 A code manager allocates memory from the operating system in large chunks
	 (typically 64KB in size) so that many methods can be allocated inside them
	 close together, improving cache locality.
	

</div> <a name="api:mono_code_manager_reserve"></a>
 <div class="api">
    <div class="api-entry">mono_code_manager_reserve</div>

    <div class="prototype">void*
mono_code_manager_reserve (MonoCodeManager *cman, int size)

</div>
<p />
<b>Parameters</b>
<blockquote><dt><i>cman:</i></dt><dd> a code manager</dd><dt><i>size:</i></dt><dd> size of memory to allocate</dd></blockquote>
<b>Returns</b>
<blockquote>	  the pointer to the allocated memory or <i>NULL</i> on failure
</blockquote>
<b>Remarks</b>
<p />	 
	 Allocates at least <i>size</i> bytes of memory inside the code manager <i>cman</i>.
	


</div><h3>Registration services</h3>

	<p />The core services of Mono are independent of the execution
	system.  The interpreter and the native code generator both
	use the functions in the following section to register
	handlers to execute code with the execution system.

	<p />These APIs would allow a different execution engine (code
	generator or interpreter) to be hooked to the rest of the Mono
	VM. 
	
 <a name="api:mono_install_assembly_load_hook"></a>
 <div class="api">
    <div class="api-entry">mono_install_assembly_load_hook</div>

    <div class="prototype">Prototype: mono_install_assembly_load_hook</div>
<p />

</div> <a name="api:mono_install_assembly_preload_hook"></a>
 <div class="api">
    <div class="api-entry">mono_install_assembly_preload_hook</div>

    <div class="prototype">Prototype: mono_install_assembly_preload_hook</div>
<p />

</div> <a name="api:mono_install_assembly_search_hook"></a>
 <div class="api">
    <div class="api-entry">mono_install_assembly_search_hook</div>

    <div class="prototype">Prototype: mono_install_assembly_search_hook</div>
<p />

</div> <a name="api:mono_install_compile_method"></a>
 <div class="api">
    <div class="api-entry">mono_install_compile_method</div>

    <div class="prototype">void        
mono_install_compile_method (MonoCompileFunc func)

</div>
<p />
<b>Parameters</b>
<blockquote><dt><i>func:</i></dt><dd> function to install</dd></blockquote>
<b>Remarks</b>
<p />	 
	 This is a VM internal routine

</div> <a name="api:mono_install_free_method"></a>
 <div class="api">
    <div class="api-entry">mono_install_free_method</div>

    <div class="prototype">void
mono_install_free_method (MonoFreeMethodFunc func)

</div>
<p />
<b>Parameters</b>
<blockquote><dt><i>func:</i></dt><dd> pointer to the MonoFreeMethodFunc used to release a method</dd></blockquote>
<b>Remarks</b>
<p />	 
	 This is an internal VM routine, it is used for the engines to
	 register a handler to release the resources associated with a method.
	
	 Methods are freed when no more references to the delegate that holds
	 them are left.

</div> <a name="api:mono_install_handler"></a>
 <div class="api">
    <div class="api-entry">mono_install_handler</div>

    <div class="prototype">void
mono_install_handler (MonoExceptionFunc func)

</div>
<p />
<b>Parameters</b>
<blockquote><dt><i>func:</i></dt><dd> exception handler</dd></blockquote>
<b>Remarks</b>
<p />	 
	 This is an internal JIT routine used to install the handler for exceptions
	 being throwh.

</div> <a name="api:mono_install_lookup_dynamic_token"></a>
 <div class="api">
    <div class="api-entry">mono_install_lookup_dynamic_token</div>

    <div class="prototype">Prototype: mono_install_lookup_dynamic_token</div>
<p />

</div> <a name="api:mono_install_remoting_trampoline"></a>
 <div class="api">
    <div class="api-entry">mono_install_remoting_trampoline</div>

    <div class="prototype">Prototype: mono_install_remoting_trampoline</div>
<p />

</div> <a name="api:mono_install_runtime_invoke"></a>
 <div class="api">
    <div class="api-entry">mono_install_runtime_invoke</div>

    <div class="prototype">void
mono_install_runtime_invoke (MonoInvokeFunc func)

</div>
<p />
<b>Parameters</b>
<blockquote><dt><i>func:</i></dt><dd> Function to install</dd></blockquote>
<b>Remarks</b>
<p />	 
	 This is a VM internal routine

</div> <a name="api:mono_install_stack_walk"></a>
 <div class="api">
    <div class="api-entry">mono_install_stack_walk</div>

    <div class="prototype">Prototype: mono_install_stack_walk</div>
<p />

</div> <a name="api:mono_install_thread_callbacks"></a>
 <div class="api">
    <div class="api-entry">mono_install_thread_callbacks</div>

    <div class="prototype">Prototype: mono_install_thread_callbacks</div>
<p />

</div> <a name="api:mono_install_trampoline"></a>
 <div class="api">
    <div class="api-entry">mono_install_trampoline</div>

    <div class="prototype">Prototype: mono_install_trampoline</div>
<p />

</div> <a name="api:mono_install_runtime_cleanup"></a>
 <div class="api">
    <div class="api-entry">mono_install_runtime_cleanup</div>

    <div class="prototype">Prototype: mono_install_runtime_cleanup</div>
<p />

</div> <a name="api:mono_install_assembly_postload_refonly_search_hook"></a>
 <div class="api">
    <div class="api-entry">mono_install_assembly_postload_refonly_search_hook</div>

    <div class="prototype">Prototype: mono_install_assembly_postload_refonly_search_hook</div>
<p />

</div> <a name="api:mono_install_assembly_postload_search_hook"></a>
 <div class="api">
    <div class="api-entry">mono_install_assembly_postload_search_hook</div>

    <div class="prototype">Prototype: mono_install_assembly_postload_search_hook</div>
<p />

</div> <a name="api:mono_install_assembly_refonly_preload_hook"></a>
 <div class="api">
    <div class="api-entry">mono_install_assembly_refonly_preload_hook</div>

    <div class="prototype">Prototype: mono_install_assembly_refonly_preload_hook</div>
<p />

</div> <a name="api:mono_install_assembly_refonly_search_hook"></a>
 <div class="api">
    <div class="api-entry">mono_install_assembly_refonly_search_hook</div>

    <div class="prototype">Prototype: mono_install_assembly_refonly_search_hook</div>
<p />

</div></body>
</html>
</span>