Mercurial > repos > rhope
comparison runtime/fixed_alloc.c @ 67:d1569087348f
Some small optimizations
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Mon, 07 Jun 2010 01:15:16 -0400 |
parents | 3e20ed8959c4 |
children | 5a195ee08eac |
comparison
equal
deleted
inserted
replaced
66:d4b44ae2e34a | 67:d1569087348f |
---|---|
35 block = manager->freelist; | 35 block = manager->freelist; |
36 if(block) | 36 if(block) |
37 { | 37 { |
38 --manager->freecount; | 38 --manager->freecount; |
39 manager->freelist = block->next; | 39 manager->freelist = block->next; |
40 memset(block, 0xCD, BLOCK_SIZE); | 40 //memset(block, 0xCD, BLOCK_SIZE); |
41 } | 41 } |
42 else | 42 else |
43 { | 43 { |
44 block = block_alloc(BLOCK_SIZE); | 44 block = block_alloc(BLOCK_SIZE); |
45 memset(block, 0xAB, BLOCK_SIZE); | 45 //memset(block, 0xAB, BLOCK_SIZE); |
46 } | 46 } |
47 manager->inuse[bucket] = block; | 47 manager->inuse[bucket] = block; |
48 block->next = NULL; | 48 block->next = NULL; |
49 block->last = NULL; | 49 block->last = NULL; |
50 block->numfree = max_free[bucket]; | 50 block->numfree = max_free[bucket]; |
93 free(ptr); | 93 free(ptr); |
94 return; | 94 return; |
95 } | 95 } |
96 //puts("ffree"); | 96 //puts("ffree"); |
97 size = ADJUST_SIZE(size); | 97 size = ADJUST_SIZE(size); |
98 memset(ptr, 0xEF, size); | 98 //memset(ptr, 0xEF, size); |
99 block = GET_BLOCK(ptr); | 99 block = GET_BLOCK(ptr); |
100 i = (((((char *)block) + BLOCK_SIZE) - ((char *)ptr))/size)-1; | 100 i = (((((char *)block) + BLOCK_SIZE) - ((char *)ptr))/size)-1; |
101 bit = i & 0x7; | 101 bit = i & 0x7; |
102 i = (i&0xFFFFFFF8) >> 3; | 102 i = (i&0xFFFFFFF8) >> 3; |
103 //printf("ptr:%X,block:%X,i:%d,bit:%d\n", ptr,block,bit,i); | 103 //printf("ptr:%X,block:%X,i:%d,bit:%d\n", ptr,block,bit,i); |