| 305 | } |
| 306 | |
| 307 | Block* alloc() |
| 308 | { |
| 309 | AutoLock lock(cs); |
| 310 | Block* block; |
| 311 | if( !freeBlocks ) |
| 312 | { |
| 313 | BigBlock* bblock = ::new(SystemAlloc(bigBlockSize)) BigBlock(bigBlockSize, pool); |
| 314 | assert( bblock != 0 ); |
| 315 | freeBlocks = bblock->first; |
| 316 | pool = bblock; |
| 317 | } |
| 318 | block = freeBlocks; |
| 319 | freeBlocks = freeBlocks->next; |
| 320 | if( freeBlocks ) |
| 321 | freeBlocks->prev = 0; |
| 322 | STAT(stat.bruttoBytes += MEM_BLOCK_SIZE); |
| 323 | return block; |
| 324 | } |
| 325 | |
| 326 | void free(Block* block) |
| 327 | { |
no test coverage detected