| 435 | } |
| 436 | |
| 437 | void |
| 438 | MemoryPool::remove_free_alloc(FreeHeader* block_to_alloc) |
| 439 | { |
| 440 | FreeHeader* smaller = block_to_alloc->smaller_free(pool_ptr_); |
| 441 | FreeHeader* larger = block_to_alloc->larger_free(pool_ptr_); |
| 442 | |
| 443 | block_to_alloc->set_smaller_free(NULL, NULL); |
| 444 | block_to_alloc->set_larger_free(NULL, NULL); |
| 445 | |
| 446 | // If this was the largest free alloc |
| 447 | if (block_to_alloc == largest_free_) { |
| 448 | // It no longer is |
| 449 | largest_free_ = smaller; |
| 450 | } |
| 451 | |
| 452 | if (larger) { |
| 453 | larger->set_smaller_free(smaller, pool_ptr_); |
| 454 | } |
| 455 | |
| 456 | if (smaller) { |
| 457 | smaller->set_larger_free(larger, pool_ptr_); |
| 458 | } |
| 459 | |
| 460 | // Remove from free index |
| 461 | free_index_.remove(block_to_alloc, larger); |
| 462 | } |
| 463 | |
| 464 | void |
| 465 | MemoryPool::insert_free_alloc(FreeHeader* freed) |
nothing calls this directly
no test coverage detected