| 1204 | return (char*)best->page + (fromBase & ~(elemSize - 1)) + 4; |
| 1205 | } |
| 1206 | void Mark(unsigned int number) |
| 1207 | { |
| 1208 | __assert(number < 128); |
| 1209 | MyLargeBlock *curr = activePages; |
| 1210 | while(curr) |
| 1211 | { |
| 1212 | for(unsigned int i = 0; i < (curr == activePages ? lastNum : countInBlock); i++) |
| 1213 | { |
| 1214 | if((curr->page[i].marker & 0xff) < 128) |
| 1215 | curr->page[i].marker = (curr->page[i].marker & ~0xff) | number; |
| 1216 | } |
| 1217 | curr = curr->next; |
| 1218 | } |
| 1219 | } |
| 1220 | unsigned int FreeMarked(unsigned int number) |
| 1221 | { |
| 1222 | unsigned int freed = 0; |