Mercurial > repos > rhope
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_ |