5 #ifndef _MONO_MEMPOOL_H_
6 #define _MONO_MEMPOOL_H_
8 #include <mono/utils/mono-publib.h>
10 typedef struct _MonoMemPool MonoMemPool
;
12 MONO_API MonoMemPool
*
13 mono_mempool_new (void);
15 MONO_API MonoMemPool
*
16 mono_mempool_new_size (int initial_size
);
19 mono_mempool_destroy (MonoMemPool
*pool
);
22 mono_mempool_invalidate (MonoMemPool
*pool
);
25 mono_mempool_stats (MonoMemPool
*pool
);
28 mono_mempool_alloc (MonoMemPool
*pool
, unsigned int size
);
30 #define mono_mempool_alloc(pool, size) (g_cast (mono_mempool_alloc ((pool), (size))))
33 mono_mempool_alloc0 (MonoMemPool
*pool
, unsigned int size
);
35 #define mono_mempool_alloc0(pool, size) (g_cast (mono_mempool_alloc0 ((pool), (size))))
38 mono_mempool_contains_addr (MonoMemPool
*pool
, void* addr
);
41 mono_mempool_strdup (MonoMemPool
*pool
, const char *s
);
44 mono_mempool_get_allocated (MonoMemPool
*pool
);