diff --git a/include/mimalloc-types.h b/include/mimalloc-types.h index eca5c2eb..9beeb195 100644 --- a/include/mimalloc-types.h +++ b/include/mimalloc-types.h @@ -167,9 +167,9 @@ typedef struct mi_page_s { #if MI_SECURE uintptr_t cookie; // random cookie to encode the free lists #endif - size_t used; // number of blocks in use (including blocks in `local_free` and `thread_free`) mi_page_flags_t flags; // threadid:62 | has_aligned:1 | in_full:1 - + size_t used; // number of blocks in use (including blocks in `local_free` and `thread_free`) + mi_block_t* local_free; // list of deferred free blocks by this thread (migrates to `free`) volatile uintptr_t thread_freed; // at least this number of blocks are in `thread_free` volatile mi_thread_free_t thread_free; // list of deferred free blocks freed by other threads @@ -182,7 +182,7 @@ typedef struct mi_page_s { // improve page index calculation #if (MI_INTPTR_SIZE==8 && MI_SECURE==0) - // void* padding[1]; // 12 words on 64-bit + void* padding[1]; // 12 words on 64-bit #elif MI_INTPTR_SIZE==4 // void* padding[1]; // 12 words on 32-bit #endif diff --git a/src/init.c b/src/init.c index ad82853e..0261e26b 100644 --- a/src/init.c +++ b/src/init.c @@ -17,11 +17,11 @@ const mi_page_t _mi_page_empty = { #if MI_SECURE 0, #endif - 0, 0, // used, flags + 0, 0, // flags, used NULL, 0, 0, 0, NULL, NULL, NULL #if (MI_INTPTR_SIZE==8 && MI_SECURE==0) - // , { NULL } + , { NULL } #endif };