Merge pull request #2202 from mono/revert-2090-mono-4.2.0-branch-bug25480
[mono-project.git] / mono / metadata / mempool.h
blobb096be6e4fd4e52bd6d50aa91e8ca7731d0d4891
1 #ifndef _MONO_MEMPOOL_H_
2 #define _MONO_MEMPOOL_H_
4 #include <mono/utils/mono-publib.h>
6 MONO_BEGIN_DECLS
8 typedef struct _MonoMemPool MonoMemPool;
10 MONO_API MonoMemPool *
11 mono_mempool_new (void);
13 MONO_API MonoMemPool *
14 mono_mempool_new_size (int initial_size);
16 MONO_API void
17 mono_mempool_destroy (MonoMemPool *pool);
19 MONO_API void
20 mono_mempool_invalidate (MonoMemPool *pool);
22 MONO_API void
23 mono_mempool_empty (MonoMemPool *pool);
25 MONO_API void
26 mono_mempool_stats (MonoMemPool *pool);
28 MONO_API void*
29 mono_mempool_alloc (MonoMemPool *pool, unsigned int size);
31 MONO_API void*
32 mono_mempool_alloc0 (MonoMemPool *pool, unsigned int size);
34 MONO_API mono_bool
35 mono_mempool_contains_addr (MonoMemPool *pool, void* addr);
37 MONO_API char*
38 mono_mempool_strdup (MonoMemPool *pool, const char *s);
40 MONO_API uint32_t
41 mono_mempool_get_allocated (MonoMemPool *pool);
43 MONO_END_DECLS
45 #endif