MonoBitsets are a set of routines used to manipulate sets of bits.
GHashTable is used when you need to store object references into a hashtable, objects stored in a MonoGHashTable are properly tracked by the garbage collector.
The MonoGHashTable data type has the same API as the GLIB.
Raw buffers provide an abstraction to load segments of files into memory. If the operating system supports it, the files are not loaded, but are mapped into the address space of the process (On Unix, this is done using the mmap(2) system call).
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.
MonoMemPool objects are not thread safe, which means that you should not share the objects across multiple threads without providing proper locking around it (unlike malloc and free which are thread safe).
When a MonoMemPool is released with mono_mempool_destroy all of the of the memory allocated from that memory pool with mono_mempool_alloc and mono_mempool_alloc0 is released.
Routines used to debug the JIT-produced code.