void * memory_region::malloc(size_t size, const char *tag, bool zero) { size_t old_size = size; size += HEADER_SIZE; alloc_header *mem = (alloc_header *)::malloc(size); if (mem == NULL) { fprintf(stderr, "memory_region::malloc> " "Out of memory allocating %ld bytes", (long int) size); abort(); } # if RUSTRT_TRACK_ALLOCATIONS >= 1 mem->magic = MAGIC; mem->tag = tag; mem->index = -1; mem->size = old_size; # endif void *data = get_data(mem); claim_alloc(data); if(zero) { memset(data, 0, old_size); } return data; }
void * memory_region::malloc(size_t size, const char *tag, bool zero) { size_t old_size = size; size += HEADER_SIZE; alloc_header *mem = (alloc_header *)_srv->malloc(size); # if RUSTRT_TRACK_ALLOCATIONS >= 1 mem->magic = MAGIC; mem->tag = tag; mem->index = -1; mem->size = old_size; # endif void *data = get_data(mem); claim_alloc(data); if(zero) { memset(data, 0, old_size); } return data; }