forked from enlightenment/efl
* eina: easy speed improvement by reducing operation of mempool.
SVN revision: 53349
This commit is contained in:
parent
a1c4588d64
commit
a44992380f
|
@ -217,12 +217,14 @@ eina_chained_mempool_free(void *data, void *ptr)
|
|||
#endif
|
||||
|
||||
EINA_INLIST_FOREACH(pool->first, p)
|
||||
{
|
||||
// Could the pointer be inside that pool
|
||||
if (ptr < p->limit)
|
||||
{
|
||||
// pool mem base
|
||||
pmem = (void *)(((unsigned char *)p) + sizeof(Chained_Pool));
|
||||
// is it in pool mem?
|
||||
if ((ptr >= pmem) &&
|
||||
((unsigned char *)ptr < (((unsigned char *)pmem) + psize)))
|
||||
if (ptr >= pmem)
|
||||
{
|
||||
// freed node points to prev free node
|
||||
eina_trash_push(&p->base, ptr);
|
||||
|
@ -242,6 +244,7 @@ eina_chained_mempool_free(void *data, void *ptr)
|
|||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef EFL_HAVE_THREADS
|
||||
if (_threads_activated)
|
||||
|
|
Loading…
Reference in New Issue