Compare commits
	
		
			1 Commits
		
	
	
		
			8b6fb23bac
			...
			775f0864a8
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 775f0864a8 | 
| @@ -1,7 +1,6 @@ | ||||
| #include "mem_arena.h" | ||||
| #include "aliases.h" | ||||
| #include "mem_utils.h" | ||||
| #include "misc_utils.h" | ||||
| #include <stdbool.h> | ||||
| #include <stdlib.h> | ||||
| #include <string.h> | ||||
| @@ -27,8 +26,8 @@ struct arena { | ||||
|  | ||||
| // PUBLIC API | ||||
|  | ||||
| bool wapp_mem_arena_init(Arena **arena, u64 base_capacity, MemAllocFlags flags, | ||||
|                          bool zero_buffer) { | ||||
| bool wapp_mem_arena_init_custom(Arena **arena, u64 base_capacity, | ||||
|                                 MemAllocFlags flags, bool zero_buffer) { | ||||
|   if (!arena || *arena || base_capacity == 0) { | ||||
|     return false; | ||||
|   } | ||||
|   | ||||
| @@ -11,20 +11,23 @@ extern "C" { | ||||
|  | ||||
| typedef struct arena Arena; | ||||
|  | ||||
| #define wapp_mem_arena_init_default(arena_dptr, base_capacity)                 \ | ||||
|   (wapp_mem_arena_init(arena_dptr, base_capacity, WAPP_MEM_ALLOC_RESERVE,      \ | ||||
|                        false)) | ||||
| #define wapp_mem_arena_init(arena_dptr, base_capacity)                         \ | ||||
|   (wapp_mem_arena_init_custom(arena_dptr, base_capacity,                       \ | ||||
|                               WAPP_MEM_ALLOC_RESERVE, false)) | ||||
| #define wapp_mem_arena_init_commit(arena_dptr, base_capacity)                  \ | ||||
|   (wapp_mem_arena_init(arena_dptr, base_capacity,                              \ | ||||
|                        WAPP_MEM_ALLOC_RESERVE | WAPP_MEM_ALLOC_COMMIT, false)) | ||||
|   (wapp_mem_arena_init_custom(arena_dptr, base_capacity,                       \ | ||||
|                               WAPP_MEM_ALLOC_RESERVE | WAPP_MEM_ALLOC_COMMIT,  \ | ||||
|                               false)) | ||||
| #define wapp_mem_arena_init_zero(arena_dptr, base_capacity)                    \ | ||||
|   (wapp_mem_arena_init(arena_dptr, base_capacity, WAPP_MEM_ALLOC_RESERVE, true)) | ||||
|   (wapp_mem_arena_init_custom(arena_dptr, base_capacity,                       \ | ||||
|                               WAPP_MEM_ALLOC_RESERVE, true)) | ||||
| #define wapp_mem_arena_init_commit_and_zero(arena_dptr, base_capacity)         \ | ||||
|   (wapp_mem_arena_init(arena_dptr, base_capacity,                              \ | ||||
|                        WAPP_MEM_ALLOC_RESERVE | WAPP_MEM_ALLOC_COMMIT, true)) | ||||
|   (wapp_mem_arena_init_custom(arena_dptr, base_capacity,                       \ | ||||
|                               WAPP_MEM_ALLOC_RESERVE | WAPP_MEM_ALLOC_COMMIT,  \ | ||||
|                               true)) | ||||
|  | ||||
| bool wapp_mem_arena_init(Arena **arena, u64 base_capacity, MemAllocFlags flags, | ||||
|                          bool zero_buffer); | ||||
| bool wapp_mem_arena_init_custom(Arena **arena, u64 base_capacity, | ||||
|                                 MemAllocFlags flags, bool zero_buffer); | ||||
| void *wapp_mem_arena_alloc(Arena *arena, u64 size); | ||||
| void *wapp_mem_arena_alloc_aligned(Arena *arena, u64 size, u64 alignment); | ||||
| void wapp_mem_arena_clear(Arena *arena); | ||||
|   | ||||
| @@ -13,7 +13,7 @@ internal i32 count = 20; | ||||
| internal i32 *array = NULL; | ||||
|  | ||||
| TestFuncResult test_arena_init(void) { | ||||
|   bool result = wapp_mem_arena_init_default(&arena, ARENA_CAPACITY); | ||||
|   bool result = wapp_mem_arena_init(&arena, ARENA_CAPACITY); | ||||
|  | ||||
|   return wapp_tester_result(result); | ||||
| } | ||||
| @@ -21,8 +21,7 @@ TestFuncResult test_arena_init(void) { | ||||
| TestFuncResult test_arena_init_succeeds_when_reserving_very_large_size(void) { | ||||
|   Arena *large_arena = NULL; | ||||
|   u64 capacity = GB(512); | ||||
|   bool result = wapp_mem_arena_init(&large_arena, capacity, | ||||
|                                     WAPP_MEM_ALLOC_RESERVE, false); | ||||
|   bool result = wapp_mem_arena_init(&large_arena, capacity); | ||||
|   if (result) { | ||||
|     wapp_mem_arena_destroy(&large_arena); | ||||
|   } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user