/* * vmem_malloc -- allocate memory */ void * vmem_malloc(VMEM *vmp, size_t size) { LOG(3, "vmp %p size %zu", vmp, size); return je_vmem_pool_malloc( (pool_t *)((uintptr_t)vmp + Header_size), size); }
void * malloc(size_t size) { if (Vmp == NULL) { ASSERT(size <= HUGE); return je_vmem_malloc(size); } LOG(4, "size %zu", size); return je_vmem_pool_malloc( (pool_t *)((uintptr_t)Vmp + Header_size), size); }
/* * vmem_strdup -- allocate memory for copy of string */ char * vmem_strdup(VMEM *vmp, const char *s) { LOG(3, "vmp %p s %p", vmp, s); size_t size = strlen(s) + 1; void *retaddr = je_vmem_pool_malloc( (pool_t *)((uintptr_t)vmp + Header_size), size); if (retaddr == NULL) return NULL; return (char *)memcpy(retaddr, s, size); }