1 <h2>Utility Methods
</h2>
5 <p>MonoBitsets are a set of routines used to manipulate sets
8 <h4><a name=
"api:mono_bitset_alloc_size">mono_bitset_alloc_size
</a></h4>
9 <h4><a name=
"api:mono_bitset_clear">mono_bitset_clear
</a></h4>
10 <h4><a name=
"api:mono_bitset_clear_all">mono_bitset_clear_all
</a></h4>
11 <h4><a name=
"api:mono_bitset_clone">mono_bitset_clone
</a></h4>
12 <h4><a name=
"api:mono_bitset_copyto">mono_bitset_copyto
</a></h4>
13 <h4><a name=
"api:mono_bitset_count">mono_bitset_count
</a></h4>
14 <h4><a name=
"api:mono_bitset_equal">mono_bitset_equal
</a></h4>
15 <h4><a name=
"api:mono_bitset_find_first">mono_bitset_find_first
</a></h4>
16 <h4><a name=
"api:mono_bitset_find_last">mono_bitset_find_last
</a></h4>
17 <h4><a name=
"api:mono_bitset_find_start">mono_bitset_find_start
</a></h4>
18 <h4><a name=
"api:mono_bitset_foreach">mono_bitset_foreach
</a></h4>
19 <h4><a name=
"api:mono_bitset_free">mono_bitset_free
</a></h4>
20 <h4><a name=
"api:mono_bitset_intersection">mono_bitset_intersection
</a></h4>
21 <h4><a name=
"api:mono_bitset_invert">mono_bitset_invert
</a></h4>
22 <h4><a name=
"api:mono_bitset_mem_new">mono_bitset_mem_new
</a></h4>
23 <h4><a name=
"api:mono_bitset_new">mono_bitset_new
</a></h4>
24 <h4><a name=
"api:mono_bitset_set">mono_bitset_set
</a></h4>
25 <h4><a name=
"api:mono_bitset_set_all">mono_bitset_set_all
</a></h4>
26 <h4><a name=
"api:mono_bitset_size">mono_bitset_size
</a></h4>
27 <h4><a name=
"api:mono_bitset_sub">mono_bitset_sub
</a></h4>
28 <h4><a name=
"api:mono_bitset_test">mono_bitset_test
</a></h4>
29 <h4><a name=
"api:mono_bitset_test_bulk">mono_bitset_test_bulk
</a></h4>
30 <h4><a name=
"api:mono_bitset_union">mono_bitset_union
</a></h4>
31 <h4><a name=
"api:mono_bitset_find_first_unset">mono_bitset_find_first_unset
</a></h4>
32 <h4><a name=
"api:mono_bitset_intersection_2">mono_bitset_intersection_2
</a></h4>
36 <p><tt>GHashTable
</tt> is used when you need to store object
37 references into a hashtable, objects stored in a
38 <tt>MonoGHashTable
</tt> are properly tracked by the garbage
41 <p>The
<tt>MonoGHashTable
</tt> data type has the same API as
44 <h4><a name=
"api:mono_g_hash_table_destroy">mono_g_hash_table_destroy
</a></h4>
45 <h4><a name=
"api:mono_g_hash_table_foreach">mono_g_hash_table_foreach
</a></h4>
46 <h4><a name=
"api:mono_g_hash_table_foreach_remove">mono_g_hash_table_foreach_remove
</a></h4>
47 <h4><a name=
"api:mono_g_hash_table_foreach_steal">mono_g_hash_table_foreach_steal
</a></h4>
48 <h4><a name=
"api:mono_g_hash_table_insert">mono_g_hash_table_insert
</a></h4>
49 <h4><a name=
"api:mono_g_hash_table_lookup">mono_g_hash_table_lookup
</a></h4>
50 <h4><a name=
"api:mono_g_hash_table_lookup_extended">mono_g_hash_table_lookup_extended
</a></h4>
51 <h4><a name=
"api:mono_g_hash_table_new">mono_g_hash_table_new
</a></h4>
52 <h4><a name=
"api:mono_g_hash_table_new_full">mono_g_hash_table_new_full
</a></h4>
53 <h4><a name=
"api:mono_g_hash_table_remap">mono_g_hash_table_remap
</a></h4>
54 <h4><a name=
"api:mono_g_hash_table_remove">mono_g_hash_table_remove
</a></h4>
55 <h4><a name=
"api:mono_g_hash_table_replace">mono_g_hash_table_replace
</a></h4>
56 <h4><a name=
"api:mono_g_hash_table_size">mono_g_hash_table_size
</a></h4>
57 <h4><a name=
"api:mono_g_hash_table_steal">mono_g_hash_table_steal
</a></h4>
59 <h3>SHA1 Signatures
</h3>
61 <h4><a name=
"api:mono_sha1_init">mono_sha1_init
</a></h4>
62 <h4><a name=
"api:mono_sha1_update">mono_sha1_update
</a></h4>
63 <h4><a name=
"api:mono_sha1_get_digest_from_file">mono_sha1_get_digest_from_file
</a></h4>
64 <h4><a name=
"api:mono_sha1_get_digest">mono_sha1_get_digest
</a></h4>
65 <h4><a name=
"api:mono_sha1_final">mono_sha1_final
</a></h4>
67 <h3>MD5 Signatures
</h3>
69 <h4><a name=
"api:mono_md5_init">mono_md5_init
</a></h4>
70 <h4><a name=
"api:mono_md5_update">mono_md5_update
</a></h4>
71 <h4><a name=
"api:mono_md5_get_digest_from_file">mono_md5_get_digest_from_file
</a></h4>
72 <h4><a name=
"api:mono_md5_get_digest">mono_md5_get_digest
</a></h4>
73 <h4><a name=
"api:mono_md5_final">mono_md5_final
</a></h4>
75 <h4><a name=
"api:mono_digest_get_public_token">mono_digest_get_public_token
</a></h4>
79 <p>Memory pools are a convenient way of tracking memory
80 allocations that are used for one specific task, they are also
81 faster than using the standard memory allocation procedures,
82 as they are designed to be used only by a single thread at a
85 <p><tt>MonoMemPool
</tt> objects are not thread safe, which
86 means that you should not share the objects across multiple
87 threads without providing proper locking around it (unlike
88 <tt>malloc
</tt> and
<tt>free
</tt> which are thread safe).
90 <p>When a
<tt>MonoMemPool
</tt> is released with
91 <tt>mono_mempool_destroy
</tt> all of the of the memory
92 allocated from that memory pool with
93 <tt>mono_mempool_alloc
</tt> and
<tt>mono_mempool_alloc0
</tt>
96 <h4><a name=
"api:mono_mempool_new">mono_mempool_new
</a></h4>
97 <h4><a name=
"api:mono_mempool_destroy">mono_mempool_destroy
</a></h4>
98 <h4><a name=
"api:mono_mempool_alloc">mono_mempool_alloc
</a></h4>
99 <h4><a name=
"api:mono_mempool_alloc0">mono_mempool_alloc0
</a></h4>
100 <h4><a name=
"api:mono_mempool_empty">mono_mempool_empty
</a></h4>
101 <h4><a name=
"api:mono_mempool_invalidate">mono_mempool_invalidate
</a></h4>
102 <h4><a name=
"api:mono_mempool_stats">mono_mempool_stats
</a></h4>
103 <h4><a name=
"api:mono_mempool_contains_addr">mono_mempool_contains_addr
</a></h4>
105 <h3>JIT utilities
</h3>
107 <h4><a name=
"api:mono_signbit_double">mono_signbit_double
</a></h4>
108 <h4><a name=
"api:mono_signbit_float">mono_signbit_float
</a></h4>
110 <h3>Disassembling Generated Code
</h3>
112 <p>Routines used to debug the JIT-produced code.
114 <h4><a name=
"api:mono_disasm_code">mono_disasm_code
</a></h4>
115 <h4><a name=
"api:mono_disasm_code_one">mono_disasm_code_one
</a></h4>
117 <h3>Walking the Stack
</h3>
119 <h4><a name=
"api:mono_walk_stack">mono_walk_stack
</a></h4>
120 <h4><a name=
"api:mono_stack_walk_no_il">mono_stack_walk_no_il
</a></h4>
121 <h4><a name=
"api:mono_stack_walk_async_safe">mono_stack_walk_async_safe
</a></h4>
125 <h4><a name=
"api:mono_escape_uri_string">mono_escape_uri_string
</a></h4>
126 <h4><a name=
"api:mono_guid_to_string">mono_guid_to_string
</a></h4>