Lines Matching refs:mem
2 tre-mem.c - TRE memory allocator
55 tre_mem_t mem;
58 mem = provided_block;
59 memset(mem, 0, sizeof(*mem));
62 mem = xcalloc(1, sizeof(*mem));
63 if (mem == NULL)
65 return mem;
71 tre_mem_destroy(tre_mem_t mem)
73 tre_list_t *tmp, *l = mem->blocks;
82 xfree(mem);
86 /* Allocates a block of `size' bytes from `mem'. Returns a pointer to the
89 tre_mem_alloc_impl(tre_mem_t mem, int provided, void *provided_block,
94 if (mem->failed)
99 if (mem->n < size)
108 mem->failed = 1;
111 mem->ptr = provided_block;
112 mem->n = TRE_MEM_BLOCK_SIZE;
124 mem->failed = 1;
131 mem->failed = 1;
135 if (mem->current != NULL)
136 mem->current->next = l;
137 if (mem->blocks == NULL)
138 mem->blocks = l;
139 mem->current = l;
140 mem->ptr = l->data;
141 mem->n = block_size;
146 size += ALIGN(mem->ptr + size, long);
149 ptr = mem->ptr;
150 mem->ptr += size;
151 mem->n -= size;