You've already forked linux-packaging-mono
							
							
		
			
				
	
	
		
			151 lines
		
	
	
		
			7.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			151 lines
		
	
	
		
			7.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <h2>Internal Runtime Utility Functions</h2>
 | |
| 
 | |
| <h3>SHA1 Signatures</h3>
 | |
| 
 | |
| <h4><a name="api:mono_sha1_init">mono_sha1_init</a></h4>
 | |
| <h4><a name="api:mono_sha1_update">mono_sha1_update</a></h4>
 | |
| <h4><a name="api:mono_sha1_get_digest_from_file">mono_sha1_get_digest_from_file</a></h4>
 | |
| <h4><a name="api:mono_sha1_get_digest">mono_sha1_get_digest</a></h4>
 | |
| <h4><a name="api:mono_sha1_final">mono_sha1_final</a></h4>
 | |
| 
 | |
| <h3>MD5 Signatures</h3>
 | |
| 
 | |
| <h4><a name="api:mono_md5_init">mono_md5_init</a></h4>
 | |
| <h4><a name="api:mono_md5_update">mono_md5_update</a></h4>
 | |
| <h4><a name="api:mono_md5_get_digest_from_file">mono_md5_get_digest_from_file</a></h4>
 | |
| <h4><a name="api:mono_md5_get_digest">mono_md5_get_digest</a></h4>
 | |
| <h4><a name="api:mono_md5_final">mono_md5_final</a></h4>
 | |
| 
 | |
| <h4><a name="api:mono_digest_get_public_token">mono_digest_get_public_token</a></h4>
 | |
| 
 | |
| <h3>Hashtables</h3>
 | |
| 
 | |
| 	<p><tt>GHashTable</tt> is used when you need to store object
 | |
| 	references into a hashtable, objects stored in a
 | |
| 	<tt>MonoGHashTable</tt> are properly tracked by the garbage
 | |
| 	collector.
 | |
| 
 | |
| 	<p>The <tt>MonoGHashTable</tt> data type has the same API as
 | |
| 	the GLIB.
 | |
| 	
 | |
| <h4><a name="api:mono_g_hash_table_destroy">mono_g_hash_table_destroy</a></h4>
 | |
| <h4><a name="api:mono_g_hash_table_foreach">mono_g_hash_table_foreach</a></h4>
 | |
| <h4><a name="api:mono_g_hash_table_foreach_remove">mono_g_hash_table_foreach_remove</a></h4>
 | |
| <h4><a name="api:mono_g_hash_table_insert">mono_g_hash_table_insert</a></h4>
 | |
| <h4><a name="api:mono_g_hash_table_lookup">mono_g_hash_table_lookup</a></h4>
 | |
| <h4><a name="api:mono_g_hash_table_lookup_extended">mono_g_hash_table_lookup_extended</a></h4>
 | |
| <h4><a name="api:mono_g_hash_table_remove">mono_g_hash_table_remove</a></h4>
 | |
| <h4><a name="api:mono_g_hash_table_replace">mono_g_hash_table_replace</a></h4>
 | |
| <h4><a name="api:mono_g_hash_table_size">mono_g_hash_table_size</a></h4>
 | |
| 
 | |
| 
 | |
| <h3>Memory Pools</h3>
 | |
| 
 | |
| 	<p>Memory pools are a convenient way of tracking memory
 | |
| 	allocations that are used for one specific task, they are also
 | |
| 	faster than using the standard memory allocation procedures,
 | |
| 	as they are designed to be used only by a single thread at a
 | |
| 	time. 
 | |
| 
 | |
| 	<p><tt>MonoMemPool</tt> objects are not thread safe, which
 | |
| 	means that you should not share the objects across multiple
 | |
| 	threads without providing proper locking around it (unlike
 | |
| 	<tt>malloc</tt> and <tt>free</tt> which are thread safe). 
 | |
| 
 | |
| 	<p>When a <tt>MonoMemPool</tt> is released with
 | |
| 	<tt>mono_mempool_destroy</tt> all of the of the memory
 | |
| 	allocated from that memory pool with
 | |
| 	<tt>mono_mempool_alloc</tt> and <tt>mono_mempool_alloc0</tt>
 | |
| 	is released.
 | |
| 	
 | |
| <h4><a name="api:mono_mempool_new">mono_mempool_new</a></h4>
 | |
| <h4><a name="api:mono_mempool_destroy">mono_mempool_destroy</a></h4>
 | |
| <h4><a name="api:mono_mempool_alloc">mono_mempool_alloc</a></h4>
 | |
| <h4><a name="api:mono_mempool_alloc0">mono_mempool_alloc0</a></h4>
 | |
| <h4><a name="api:mono_mempool_invalidate">mono_mempool_invalidate</a></h4>
 | |
| <h4><a name="api:mono_mempool_stats">mono_mempool_stats</a></h4>
 | |
| <h4><a name="api:mono_mempool_contains_addr">mono_mempool_contains_addr</a></h4> 
 | |
|  
 | |
| <h3>Bitsets</h3>
 | |
| 
 | |
| 	<p>MonoBitsets are a set of routines used to manipulate sets
 | |
| 	of bits.
 | |
| 	
 | |
| <h4><a name="api:mono_bitset_alloc_size">mono_bitset_alloc_size</a></h4>
 | |
| <h4><a name="api:mono_bitset_clear">mono_bitset_clear</a></h4>
 | |
| <h4><a name="api:mono_bitset_clear_all">mono_bitset_clear_all</a></h4>
 | |
| <h4><a name="api:mono_bitset_clone">mono_bitset_clone</a></h4>
 | |
| <h4><a name="api:mono_bitset_copyto">mono_bitset_copyto</a></h4>
 | |
| <h4><a name="api:mono_bitset_count">mono_bitset_count</a></h4>
 | |
| <h4><a name="api:mono_bitset_equal">mono_bitset_equal</a></h4>
 | |
| <h4><a name="api:mono_bitset_find_first">mono_bitset_find_first</a></h4>
 | |
| <h4><a name="api:mono_bitset_find_last">mono_bitset_find_last</a></h4>
 | |
| <h4><a name="api:mono_bitset_find_start">mono_bitset_find_start</a></h4>
 | |
| <h4><a name="api:mono_bitset_foreach">mono_bitset_foreach</a></h4>
 | |
| <h4><a name="api:mono_bitset_free">mono_bitset_free</a></h4>
 | |
| <h4><a name="api:mono_bitset_intersection">mono_bitset_intersection</a></h4>
 | |
| <h4><a name="api:mono_bitset_invert">mono_bitset_invert</a></h4>
 | |
| <h4><a name="api:mono_bitset_mem_new">mono_bitset_mem_new</a></h4>
 | |
| <h4><a name="api:mono_bitset_new">mono_bitset_new</a></h4>
 | |
| <h4><a name="api:mono_bitset_set">mono_bitset_set</a></h4>
 | |
| <h4><a name="api:mono_bitset_set_all">mono_bitset_set_all</a></h4>
 | |
| <h4><a name="api:mono_bitset_size">mono_bitset_size</a></h4>
 | |
| <h4><a name="api:mono_bitset_sub">mono_bitset_sub</a></h4>
 | |
| <h4><a name="api:mono_bitset_test">mono_bitset_test</a></h4>
 | |
| <h4><a name="api:mono_bitset_test_bulk">mono_bitset_test_bulk</a></h4>
 | |
| <h4><a name="api:mono_bitset_union">mono_bitset_union</a></h4>
 | |
| <h4><a name="api:mono_bitset_find_first_unset">mono_bitset_find_first_unset</a></h4>
 | |
| <h4><a name="api:mono_bitset_intersection_2">mono_bitset_intersection_2</a></h4>
 | |
| 
 | |
| <h3>JIT utilities</h3>
 | |
| 
 | |
| <h4><a name="api:mono_signbit_double">mono_signbit_double</a></h4>
 | |
| <h4><a name="api:mono_signbit_float">mono_signbit_float</a></h4>
 | |
| 
 | |
| <h3>Function Pointers</h3>
 | |
| 
 | |
| 	<p>To wrap a function pointer into something that the Mono
 | |
| 	runtime can consume, you should use the mono_create_ftnptr.
 | |
| 	This is only important if you plan on running on the IA64
 | |
| 	architecture.   Otherwise you can just use the function
 | |
| 	pointer address.
 | |
| 	
 | |
| <h4><a name="api:mono_create_ftnptr">mono_create_ftnptr</a></h4>
 | |
| 
 | |
| 
 | |
| <h2>Notification Interface</h2>
 | |
| 
 | |
| 	<p>This is an internal profiler interface.   In general, users
 | |
| 	would not be using this interface, but would be using the
 | |
| 	profiler interface. 
 | |
| 
 | |
| 	<p>These methods must be called to notify the profiler of an
 | |
| 	event that must be recorded.   Mono's JIT engine currently
 | |
| 	calls these routines, but if you are extending Mono in some
 | |
| 	way these are the methods that you might invoke to notify the
 | |
| 	profiler of an event.
 | |
| 
 | |
| <h4><a name="api:mono_profiler_load">mono_profiler_load</a></h4>
 | |
| <h4><a name="api:mono_profiler_allocation">mono_profiler_allocation</a></h4>
 | |
| <h4><a name="api:mono_profiler_stat_hit">mono_profiler_stat_hit</a></h4> 
 | |
| <h4><a name="api:mono_profiler_thread_start">mono_profiler_thread_start</a></h4>
 | |
| <h4><a name="api:mono_profiler_thread_end">mono_profiler_thread_end</a></h4>
 | |
| <h4><a name="api:mono_profiler_appdomain_event">mono_profiler_appdomain_event</a></h4>
 | |
| <h4><a name="api:mono_profiler_appdomain_loaded">mono_profiler_appdomain_loaded</a></h4>
 | |
| <h4><a name="api:mono_profiler_assembly_event">mono_profiler_assembly_event</a></h4>
 | |
| <h4><a name="api:mono_profiler_assembly_loaded">mono_profiler_assembly_loaded</a></h4>
 | |
| <h4><a name="api:mono_profiler_class_event">mono_profiler_class_event</a></h4>
 | |
| <h4><a name="api:mono_profiler_class_loaded">mono_profiler_class_loaded</a></h4>
 | |
| <h4><a name="api:mono_profiler_code_transition">mono_profiler_code_transition</a></h4>
 | |
| <h4><a name="api:mono_profiler_method_end_jit">mono_profiler_method_end_jit</a></h4>
 | |
| <h4><a name="api:mono_profiler_method_enter">mono_profiler_method_enter</a></h4>
 | |
| <h4><a name="api:mono_profiler_method_jit">mono_profiler_method_jit</a></h4>
 | |
| <h4><a name="api:mono_profiler_method_leave">mono_profiler_method_leave</a></h4>
 | |
| <h4><a name="api:mono_profiler_module_event">mono_profiler_module_event</a></h4>
 | |
| <h4><a name="api:mono_profiler_module_loaded">mono_profiler_module_loaded</a></h4>
 | |
| <h4><a name="api:mono_profiler_shutdown">mono_profiler_shutdown</a></h4>
 | |
| <h4><a name="api:mono_profiler_startup">mono_profiler_startup</a></h4>
 | |
| <h4><a name="api:mono_profiler_gc_event">mono_profiler_gc_event</a></h4> 
 | |
| <h4><a name="api:mono_profiler_gc_heap_resize">mono_profiler_gc_heap_resize</a></h4> 
 | |
| <h4><a name="api:mono_profiler_stat_hit">mono_profiler_stat_hit</a></h4> 
 |