[Bf-blender-cvs] [5c5d643] master: Mempool: use define for used freeword and correct define
Campbell Barton
noreply at git.blender.org
Mon Apr 7 04:53:40 CEST 2014
Commit: 5c5d643938c975bda53f04013ce88486afca2ecf
Author: Campbell Barton
Date: Mon Apr 7 12:52:23 2014 +1000
https://developer.blender.org/rB5c5d643938c975bda53f04013ce88486afca2ecf
Mempool: use define for used freeword and correct define
===================================================================
M source/blender/blenlib/intern/BLI_mempool.c
===================================================================
diff --git a/source/blender/blenlib/intern/BLI_mempool.c b/source/blender/blenlib/intern/BLI_mempool.c
index 1fccc0b..c891789 100644
--- a/source/blender/blenlib/intern/BLI_mempool.c
+++ b/source/blender/blenlib/intern/BLI_mempool.c
@@ -56,6 +56,7 @@
#endif
#define FREEWORD MAKE_ID('f', 'r', 'e', 'e')
+#define USEDWORD MAKE_ID('u', 's', 'e', 'd')
/* currently totalloc isnt used */
// #define USE_TOTALLOC
@@ -128,7 +129,7 @@ struct BLI_mempool {
#define NODE_STEP_PREV(node) ((void *)((char *)(node) - esize))
/* extra bytes implicitly used for every chunk alloc */
-#ifdef USE_CHUNK_POW2
+#ifdef USE_DATA_PTR
# define CHUNK_OVERHEAD (unsigned int)(MEM_SIZE_OVERHEAD + sizeof(BLI_mempool_chunk))
#else
# define CHUNK_OVERHEAD (unsigned int)(MEM_SIZE_OVERHEAD)
@@ -325,9 +326,7 @@ BLI_mempool *BLI_mempool_create(unsigned int esize, unsigned int totelem,
void *BLI_mempool_alloc(BLI_mempool *pool)
{
- void *retval = NULL;
-
- pool->totused++;
+ BLI_freenode *free_pop;
if (UNLIKELY(pool->free == NULL)) {
/* need to allocate a new chunk */
@@ -335,21 +334,22 @@ void *BLI_mempool_alloc(BLI_mempool *pool)
mempool_chunk_add(pool, mpchunk, NULL);
}
- BLI_assert(pool->chunk_tail->next == NULL);
+ free_pop = pool->free;
- retval = pool->free;
+ BLI_assert(pool->chunk_tail->next == NULL);
if (pool->flag & BLI_MEMPOOL_ALLOW_ITER) {
- pool->free->freeword = 0x7FFFFFFF;
+ free_pop->freeword = USEDWORD;
}
- pool->free = pool->free->next;
+ pool->free = free_pop->next;
+ pool->totused++;
#ifdef WITH_MEM_VALGRIND
- VALGRIND_MEMPOOL_ALLOC(pool, retval, pool->esize);
+ VALGRIND_MEMPOOL_ALLOC(pool, free_pop, pool->esize);
#endif
- return retval;
+ return (void *)free_pop;
}
void *BLI_mempool_calloc(BLI_mempool *pool)
More information about the Bf-blender-cvs
mailing list