| 331 | } |
| 332 | |
| 333 | void mi_heap_destroy(mi_heap_t* heap) { |
| 334 | mi_assert(heap != NULL); |
| 335 | mi_assert(mi_heap_is_initialized(heap)); |
| 336 | mi_assert(heap->no_reclaim); |
| 337 | mi_assert_expensive(mi_heap_is_valid(heap)); |
| 338 | if (heap==NULL || !mi_heap_is_initialized(heap)) return; |
| 339 | if (!heap->no_reclaim) { |
| 340 | // don't free in case it may contain reclaimed pages |
| 341 | mi_heap_delete(heap); |
| 342 | } |
| 343 | else { |
| 344 | // free all pages |
| 345 | _mi_heap_destroy_pages(heap); |
| 346 | mi_heap_free(heap); |
| 347 | } |
| 348 | } |
| 349 | |
| 350 | void _mi_heap_destroy_all(void) { |
| 351 | mi_heap_t* bheap = mi_heap_get_backing(); |