From 35776f481c02caa700369db0e884bd9f7c7d3c0e Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Thu, 18 Jan 2007 12:54:18 +0000 Subject: Don't always zero memory in malloc(). This saves around 2us on a full-length PKB allocation. --- src/core/malloc.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'src/core') diff --git a/src/core/malloc.c b/src/core/malloc.c index bb34db315..db2b500c9 100644 --- a/src/core/malloc.c +++ b/src/core/malloc.c @@ -134,8 +134,6 @@ void * alloc_memblock ( size_t size, size_t align ) { */ if ( pre_size < MIN_MEMBLOCK_SIZE ) list_del ( &pre->list ); - /* Zero allocated memory, for calloc() */ - memset ( block, 0, size ); DBG ( "Allocated [%p,%p)\n", block, ( ( ( void * ) block ) + size ) ); return block; @@ -297,6 +295,23 @@ void free ( void *ptr ) { realloc ( ptr, 0 ); } +/** + * Allocate cleared memory + * + * @v size Requested size + * @ret ptr Allocated memory + * + * Allocate memory as per malloc(), and zero it. + */ +void * _calloc ( size_t size ) { + void *data; + + data = malloc ( size ); + if ( data ) + memset ( data, 0, size ); + return data; +} + /** * Add memory to allocation pool * -- cgit v1.2.3-55-g7522