summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cairo-freelist-private.h29
-rw-r--r--src/cairo-freelist.c29
2 files changed, 27 insertions, 31 deletions
diff --git a/src/cairo-freelist-private.h b/src/cairo-freelist-private.h
index d48a7201..420fa333 100644
--- a/src/cairo-freelist-private.h
+++ b/src/cairo-freelist-private.h
@@ -22,6 +22,7 @@
#ifndef CAIRO_FREELIST_H
#define CAIRO_FREELIST_H
+#include "cairoint.h"
#include "cairo-types-private.h"
#include "cairo-compiler-private.h"
@@ -96,8 +97,32 @@ _cairo_freepool_init (cairo_freepool_t *freepool, unsigned nodesize);
cairo_private void
_cairo_freepool_fini (cairo_freepool_t *freepool);
-cairo_private void *
-_cairo_freepool_alloc_from_new_pool (cairo_freepool_t *freepool);
+static inline void *
+_cairo_freepool_alloc_from_new_pool (cairo_freepool_t *freepool)
+{
+ cairo_freelist_pool_t *pool;
+ int poolsize;
+
+ if (freepool->pools != &freepool->embedded_pool)
+ poolsize = 2 * freepool->pools->size;
+ else
+ poolsize = (128 * freepool->nodesize + 8191) & -8192;
+ pool = malloc (sizeof (cairo_freelist_pool_t) + poolsize);
+ if (unlikely (pool == NULL))
+ return pool;
+
+ pool->next = freepool->pools;
+ freepool->pools = pool;
+
+ pool->size = poolsize;
+ pool->rem = poolsize - freepool->nodesize;
+ pool->data = (uint8_t *) (pool + 1) + freepool->nodesize;
+
+ VG (VALGRIND_MAKE_MEM_NOACCESS (pool->data, poolsize));
+ VG (VALGRIND_MAKE_MEM_UNDEFINED (pool->data, freepool->nodesize));
+
+ return pool + 1;
+}
static inline void *
_cairo_freepool_alloc_from_pool (cairo_freepool_t *freepool)
diff --git a/src/cairo-freelist.c b/src/cairo-freelist.c
index 6277f907..e7f3ac2b 100644
--- a/src/cairo-freelist.c
+++ b/src/cairo-freelist.c
@@ -20,8 +20,6 @@
* OF THIS SOFTWARE.
*/
-#include "cairoint.h"
-
#include "cairo-freelist-private.h"
void
@@ -111,30 +109,3 @@ _cairo_freepool_fini (cairo_freepool_t *freepool)
}
VG (VALGRIND_MAKE_MEM_NOACCESS (freepool, sizeof (freepool)));
}
-
-void *
-_cairo_freepool_alloc_from_new_pool (cairo_freepool_t *freepool)
-{
- cairo_freelist_pool_t *pool;
- int poolsize;
-
- if (freepool->pools != &freepool->embedded_pool)
- poolsize = 2 * freepool->pools->size;
- else
- poolsize = (128 * freepool->nodesize + 8191) & -8192;
- pool = malloc (sizeof (cairo_freelist_pool_t) + poolsize);
- if (unlikely (pool == NULL))
- return pool;
-
- pool->next = freepool->pools;
- freepool->pools = pool;
-
- pool->size = poolsize;
- pool->rem = poolsize - freepool->nodesize;
- pool->data = (uint8_t *) (pool + 1) + freepool->nodesize;
-
- VG (VALGRIND_MAKE_MEM_NOACCESS (pool->data, poolsize));
- VG (VALGRIND_MAKE_MEM_UNDEFINED (pool->data, freepool->nodesize));
-
- return pool + 1;
-}