Lines Matching full:result
93 region_type *result = (region_type *) allocator(sizeof(region_type)); in alloc_region_base() local
94 if (!result) return NULL; in alloc_region_base()
96 result->total_allocated = 0; in alloc_region_base()
97 result->small_objects = 0; in alloc_region_base()
98 result->large_objects = 0; in alloc_region_base()
99 result->chunk_count = 1; in alloc_region_base()
100 result->unused_space = 0; in alloc_region_base()
101 result->recycle_bin = NULL; in alloc_region_base()
102 result->recycle_size = 0; in alloc_region_base()
103 result->large_list = NULL; in alloc_region_base()
105 result->allocated = 0; in alloc_region_base()
106 result->data = NULL; in alloc_region_base()
107 result->initial_data = NULL; in alloc_region_base()
109 result->allocator = allocator; in alloc_region_base()
110 result->deallocator = deallocator; in alloc_region_base()
113 result->maximum_cleanup_count = initial_cleanup_count; in alloc_region_base()
114 result->cleanup_count = 0; in alloc_region_base()
115 result->cleanups = (cleanup_type *) allocator( in alloc_region_base()
116 result->maximum_cleanup_count * sizeof(cleanup_type)); in alloc_region_base()
117 if (!result->cleanups) { in alloc_region_base()
118 deallocator(result); in alloc_region_base()
122 result->chunk_size = DEFAULT_CHUNK_SIZE; in alloc_region_base()
123 result->large_object_size = DEFAULT_LARGE_OBJECT_SIZE; in alloc_region_base()
124 return result; in alloc_region_base()
131 region_type* result = alloc_region_base(allocator, deallocator, in region_create() local
133 if(!result) in region_create()
135 result->data = (char *) allocator(result->chunk_size); in region_create()
136 if (!result->data) { in region_create()
137 deallocator(result->cleanups); in region_create()
138 deallocator(result); in region_create()
141 result->initial_data = result->data; in region_create()
143 return result; in region_create()
154 region_type* result = alloc_region_base(allocator, deallocator, in region_create_custom() local
156 if(!result) in region_create_custom()
159 result->chunk_size = chunk_size; in region_create_custom()
160 result->large_object_size = large_object_size; in region_create_custom()
161 if(result->chunk_size > 0) { in region_create_custom()
162 result->data = (char *) allocator(result->chunk_size); in region_create_custom()
163 if (!result->data) { in region_create_custom()
164 deallocator(result->cleanups); in region_create_custom()
165 deallocator(result); in region_create_custom()
168 result->initial_data = result->data; in region_create_custom()
171 result->recycle_bin = allocator(sizeof(struct recycle_elem*) in region_create_custom()
172 * result->large_object_size); in region_create_custom()
173 if(!result->recycle_bin) { in region_create_custom()
174 region_destroy(result); in region_create_custom()
177 memset(result->recycle_bin, 0, sizeof(struct recycle_elem*) in region_create_custom()
178 * result->large_object_size); in region_create_custom()
180 return result; in region_create_custom()
255 void *result; in region_alloc() local
263 result = region->allocator(size + sizeof(struct large_elem)); in region_alloc()
264 if (!result) in region_alloc()
266 ((struct large_elem*)result)->prev = NULL; in region_alloc()
267 ((struct large_elem*)result)->next = region->large_list; in region_alloc()
269 region->large_list->prev = (struct large_elem*)result; in region_alloc()
270 region->large_list = (struct large_elem*)result; in region_alloc()
275 return (char *)result + sizeof(struct large_elem); in region_alloc()
279 result = (void*)region->recycle_bin[aligned_size]; in region_alloc()
283 return result; in region_alloc()
320 result = region->data + region->allocated; in region_alloc()
327 return result; in region_alloc()
333 void *result = region_alloc(region, size); in region_alloc_init() local
334 if (!result) return NULL; in region_alloc_init()
335 memcpy(result, init, size); in region_alloc_init()
336 return result; in region_alloc_init()
342 void *result = region_alloc(region, size); in region_alloc_zero() local
343 if (!result) return NULL; in region_alloc_zero()
344 memset(result, 0, size); in region_alloc_zero()
345 return result; in region_alloc_zero()