Expose _mi_heap_is_valid

This commit is contained in:
Sam Gross 2019-10-24 15:49:47 -04:00
parent 91b21ca420
commit c92a3ec6c3
3 changed files with 5 additions and 4 deletions

View file

@ -105,6 +105,7 @@ void _mi_block_zero_init(const mi_page_t* page, void* p, size_t size);
#if MI_DEBUG>1 #if MI_DEBUG>1
bool _mi_page_is_valid(mi_page_t* page); bool _mi_page_is_valid(mi_page_t* page);
bool _mi_heap_is_valid(mi_heap_t* heap);
#endif #endif

View file

@ -57,7 +57,7 @@ static bool _mi_heap_page_is_valid(mi_heap_t* heap, mi_page_queue_t* pq, mi_page
return true; return true;
} }
static bool mi_heap_is_valid(mi_heap_t* heap) { bool _mi_heap_is_valid(mi_heap_t* heap) {
mi_assert_internal(heap!=NULL); mi_assert_internal(heap!=NULL);
mi_heap_visit_pages(heap, &_mi_heap_page_is_valid, NULL, NULL); mi_heap_visit_pages(heap, &_mi_heap_page_is_valid, NULL, NULL);
return true; return true;
@ -278,7 +278,7 @@ void _mi_heap_destroy_pages(mi_heap_t* heap) {
void mi_heap_destroy(mi_heap_t* heap) { void mi_heap_destroy(mi_heap_t* heap) {
mi_assert(mi_heap_is_initialized(heap)); mi_assert(mi_heap_is_initialized(heap));
mi_assert(heap->no_reclaim); mi_assert(heap->no_reclaim);
mi_assert_expensive(mi_heap_is_valid(heap)); mi_assert_expensive(_mi_heap_is_valid(heap));
if (!mi_heap_is_initialized(heap)) return; if (!mi_heap_is_initialized(heap)) return;
if (!heap->no_reclaim) { if (!heap->no_reclaim) {
// don't free in case it may contain reclaimed pages // don't free in case it may contain reclaimed pages
@ -335,7 +335,7 @@ static void mi_heap_absorb(mi_heap_t* heap, mi_heap_t* from) {
void mi_heap_delete(mi_heap_t* heap) void mi_heap_delete(mi_heap_t* heap)
{ {
mi_assert(mi_heap_is_initialized(heap)); mi_assert(mi_heap_is_initialized(heap));
mi_assert_expensive(mi_heap_is_valid(heap)); mi_assert_expensive(_mi_heap_is_valid(heap));
if (!mi_heap_is_initialized(heap)) return; if (!mi_heap_is_initialized(heap)) return;
if (!mi_heap_is_backing(heap)) { if (!mi_heap_is_backing(heap)) {

View file

@ -314,7 +314,7 @@ static void _mi_thread_done(mi_heap_t* heap) mi_attr_noexcept;
mi_heap_t* mi_heap_set_default(mi_heap_t* heap) { mi_heap_t* mi_heap_set_default(mi_heap_t* heap) {
mi_assert(mi_heap_is_initialized(heap)); mi_assert(mi_heap_is_initialized(heap));
if (!mi_heap_is_initialized(heap)) return NULL; if (!mi_heap_is_initialized(heap)) return NULL;
mi_assert_expensive(mi_heap_is_valid(heap)); mi_assert_expensive(_mi_heap_is_valid(heap));
mi_heap_t* old = _mi_heap_default; mi_heap_t* old = _mi_heap_default;
_mi_heap_default = heap; _mi_heap_default = heap;