[2020-02] Fix leak in assembly-specific dllmap lookups (#21053)
[mono-project.git] / mono / metadata / mempool.h
blob7cbbb944a1ecbea98a8489bb765af4817b076608
1 /**
2 * \file
3 */
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);
18 MONO_API void
19 mono_mempool_destroy (MonoMemPool *pool);
21 MONO_API void
22 mono_mempool_invalidate (MonoMemPool *pool);
24 MONO_API void
25 mono_mempool_stats (MonoMemPool *pool);
27 MONO_API void*
28 mono_mempool_alloc (MonoMemPool *pool, unsigned int size);
30 #define mono_mempool_alloc(pool, size) (g_cast (mono_mempool_alloc ((pool), (size))))
32 MONO_API void*
33 mono_mempool_alloc0 (MonoMemPool *pool, unsigned int size);
35 #define mono_mempool_alloc0(pool, size) (g_cast (mono_mempool_alloc0 ((pool), (size))))
37 MONO_API mono_bool
38 mono_mempool_contains_addr (MonoMemPool *pool, void* addr);
40 MONO_API char*
41 mono_mempool_strdup (MonoMemPool *pool, const char *s);
43 MONO_API uint32_t
44 mono_mempool_get_allocated (MonoMemPool *pool);
46 #endif