@@ -339,7 +339,7 @@ void* _mi_os_alloc(size_t size, mi_memid_t* memid) {
339
339
bool os_is_zero = false;
340
340
void * p = mi_os_prim_alloc (size , 0 , true, false, & os_is_large , & os_is_zero );
341
341
if (p != NULL ) {
342
- * memid = _mi_memid_create_os (true, os_is_zero , os_is_large );
342
+ * memid = _mi_memid_create_os (p , size , true, os_is_zero , os_is_large );
343
343
}
344
344
return p ;
345
345
}
@@ -357,10 +357,9 @@ void* _mi_os_alloc_aligned(size_t size, size_t alignment, bool commit, bool allo
357
357
void * os_base = NULL ;
358
358
void * p = mi_os_prim_alloc_aligned (size , alignment , commit , allow_large , & os_is_large , & os_is_zero , & os_base );
359
359
if (p != NULL ) {
360
- * memid = _mi_memid_create_os (commit , os_is_zero , os_is_large );
360
+ * memid = _mi_memid_create_os (p , size , commit , os_is_zero , os_is_large );
361
361
memid -> mem .os .base = os_base ;
362
- // memid->mem.os.alignment = alignment;
363
- memid -> mem .os .size += ((uint8_t * )p - (uint8_t * )os_base ); // todo: return from prim_alloc_aligned
362
+ memid -> mem .os .size += ((uint8_t * )p - (uint8_t * )os_base ); // todo: return from prim_alloc_aligned?
364
363
}
365
364
return p ;
366
365
}
@@ -618,7 +617,7 @@ void* _mi_os_alloc_huge_os_pages(size_t pages, int numa_node, mi_msecs_t max_mse
618
617
if (psize != NULL ) * psize = 0 ;
619
618
if (pages_reserved != NULL ) * pages_reserved = 0 ;
620
619
size_t size = 0 ;
621
- uint8_t * start = mi_os_claim_huge_pages (pages , & size );
620
+ uint8_t * const start = mi_os_claim_huge_pages (pages , & size );
622
621
if (start == NULL ) return NULL ; // or 32-bit systems
623
622
624
623
// Allocate one page at the time but try to place them contiguously
@@ -674,7 +673,7 @@ void* _mi_os_alloc_huge_os_pages(size_t pages, int numa_node, mi_msecs_t max_mse
674
673
if (psize != NULL ) { * psize = page * MI_HUGE_OS_PAGE_SIZE ; }
675
674
if (page != 0 ) {
676
675
mi_assert (start != NULL );
677
- * memid = _mi_memid_create_os (true /* is committed */ , all_zero , true /* is_large */ );
676
+ * memid = _mi_memid_create_os (start , size , true /* is committed */ , all_zero , true /* is_large */ );
678
677
memid -> memkind = MI_MEM_OS_HUGE ;
679
678
mi_assert (memid -> is_pinned );
680
679
#ifdef MI_TRACK_ASAN
0 commit comments