diff --git a/include/mimalloc.h b/include/mimalloc.h index a315370e..bc743fd7 100644 --- a/include/mimalloc.h +++ b/include/mimalloc.h @@ -258,6 +258,7 @@ typedef struct mi_heap_area_s { size_t used; // number of allocated blocks size_t block_size; // size in bytes of each block size_t full_block_size; // size in bytes of a full block including padding and metadata. + int heap_tag; // heap tag associated with this area } mi_heap_area_t; typedef bool (mi_cdecl mi_block_visit_fun)(const mi_heap_t* heap, const mi_heap_area_t* area, void* block, size_t block_size, void* arg); diff --git a/src/heap.c b/src/heap.c index 0049abc3..0d716f91 100644 --- a/src/heap.c +++ b/src/heap.c @@ -530,6 +530,7 @@ void _mi_heap_area_init(mi_heap_area_t* area, mi_page_t* page) { area->used = page->used; // number of blocks in use (#553) area->block_size = ubsize; area->full_block_size = bsize; + area->heap_tag = page->heap_tag; }