comparison runtime/fixed_alloc.h @ 89:5a195ee08eac

Fix memory leak and bug that was preventing First@Dictionary from working properly
author Mike Pavone <pavone@retrodev.com>
date Sat, 31 Jul 2010 00:19:15 -0400
parents d1569087348f
children e73a93fb5de1
comparison
equal deleted inserted replaced
88:f69987c58fa8 89:5a195ee08eac
28 //num_elements = (BLOCK_SIZE - sizeof(mem_block)+1)*8/(sizeof(element)*8+1) 28 //num_elements = (BLOCK_SIZE - sizeof(mem_block)+1)*8/(sizeof(element)*8+1)
29 typedef struct { 29 typedef struct {
30 mem_block *freelist; 30 mem_block *freelist;
31 mem_block *inuse[(MAX_SIZE-MIN_SIZE)/STRIDE]; 31 mem_block *inuse[(MAX_SIZE-MIN_SIZE)/STRIDE];
32 uint32_t freecount; 32 uint32_t freecount;
33 uint32_t fullcount;
33 } mem_manager; 34 } mem_manager;
34 35
35 void fixed_alloc_init(); 36 void fixed_alloc_init();
36 mem_manager * new_mem_manager(); 37 mem_manager * new_mem_manager();
37 void * falloc(size_t size, mem_manager * manager); 38 void * falloc(size_t size, mem_manager * manager);
38 void ffree(void * ptr, size_t size, mem_manager * manager); 39 void ffree(void * ptr, size_t size, mem_manager * manager);
40 void print_mem_info(mem_manager * manager);
39 41
40 #endif //FIXED_ALLOC_H_ 42 #endif //FIXED_ALLOC_H_