Z_Zone: fixup Valgrind support
This commit is contained in:
parent
700d9426d4
commit
15c263e9c7
19
src/z_zone.c
19
src/z_zone.c
|
@ -232,12 +232,12 @@ void Z_Free(void *ptr)
|
||||||
|
|
||||||
// Free the memory and get rid of the block.
|
// Free the memory and get rid of the block.
|
||||||
free(block->real);
|
free(block->real);
|
||||||
block->prev->next = block->next;
|
|
||||||
block->next->prev = block->prev;
|
|
||||||
free(block);
|
|
||||||
#ifdef VALGRIND_DESTROY_MEMPOOL
|
#ifdef VALGRIND_DESTROY_MEMPOOL
|
||||||
VALGRIND_DESTROY_MEMPOOL(block);
|
VALGRIND_DESTROY_MEMPOOL(block);
|
||||||
#endif
|
#endif
|
||||||
|
block->prev->next = block->next;
|
||||||
|
block->next->prev = block->prev;
|
||||||
|
free(block);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** malloc() that doesn't accept failure.
|
/** malloc() that doesn't accept failure.
|
||||||
|
@ -317,13 +317,9 @@ void *Z_MallocAlign(size_t size, INT32 tag, void *user, INT32 alignbits)
|
||||||
// The mem header lives 'sizeof (memhdr_t)' bytes before given.
|
// The mem header lives 'sizeof (memhdr_t)' bytes before given.
|
||||||
hdr = (memhdr_t *)((UINT8 *)given - sizeof *hdr);
|
hdr = (memhdr_t *)((UINT8 *)given - sizeof *hdr);
|
||||||
|
|
||||||
#ifdef VALGRIND_CREATE_MEMPOOL
|
#ifdef HAVE_VALGRIND
|
||||||
VALGRIND_CREATE_MEMPOOL(block, padsize, Z_calloc);
|
|
||||||
Z_calloc = false;
|
Z_calloc = false;
|
||||||
#endif
|
#endif
|
||||||
#ifdef VALGRIND_MEMPOOL_ALLOC
|
|
||||||
VALGRIND_MEMPOOL_ALLOC(block, hdr, size + sizeof *hdr);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
block->next = head.next;
|
block->next = head.next;
|
||||||
block->prev = &head;
|
block->prev = &head;
|
||||||
|
@ -341,6 +337,13 @@ void *Z_MallocAlign(size_t size, INT32 tag, void *user, INT32 alignbits)
|
||||||
block->size = blocksize;
|
block->size = blocksize;
|
||||||
block->realsize = size;
|
block->realsize = size;
|
||||||
|
|
||||||
|
#ifdef VALGRIND_CREATE_MEMPOOL
|
||||||
|
VALGRIND_CREATE_MEMPOOL(block, padsize, Z_calloc);
|
||||||
|
#endif
|
||||||
|
//#ifdef VALGRIND_MEMPOOL_ALLOC
|
||||||
|
// VALGRIND_MEMPOOL_ALLOC(block, hdr, size + sizeof *hdr);
|
||||||
|
//#endif
|
||||||
|
|
||||||
hdr->id = ZONEID;
|
hdr->id = ZONEID;
|
||||||
hdr->block = block;
|
hdr->block = block;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue