2009-08-10 Gonzalo Paniagua Javier <gonzalo@novell.com>
[mono.git] / mono / metadata / mempool.h
1 #ifndef _MONO_MEMPOOL_H_
2 #define _MONO_MEMPOOL_H_
3
4 G_BEGIN_DECLS
5
6 typedef struct _MonoMemPool MonoMemPool;
7
8 MonoMemPool *
9 mono_mempool_new           (void);
10
11 MonoMemPool *
12 mono_mempool_new_size      (int initial_size);
13
14 void
15 mono_mempool_destroy       (MonoMemPool *pool);
16
17 void
18 mono_mempool_invalidate    (MonoMemPool *pool);
19
20 void
21 mono_mempool_empty         (MonoMemPool *pool);
22
23 void
24 mono_mempool_stats         (MonoMemPool *pool);
25
26 gpointer
27 mono_mempool_alloc         (MonoMemPool *pool, 
28                             guint        size);
29
30 gpointer
31 mono_mempool_alloc0        (MonoMemPool *pool, 
32                             guint        size);
33
34 gboolean
35 mono_mempool_contains_addr (MonoMemPool *pool,
36                             gpointer addr);
37
38 char*
39 mono_mempool_strdup        (MonoMemPool *pool,
40                                                         const char *s);
41
42 guint32
43 mono_mempool_get_allocated (MonoMemPool *pool);
44
45 G_END_DECLS
46
47 #endif