diff options
| author | Sam Gross <colesbury@gmail.com> | 2024-02-20 15:36:40 (GMT) |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-20 15:36:40 (GMT) |
| commit | cc82e33af978df793b83cefe4e25e07223a3a09e (patch) | |
| tree | d3eea26833e8ffb71fe3b19dd45e54d0e9fe33f9 /Objects/mimalloc/page.c | |
| parent | c0b0c2f2015fb27db4306109b2b3781eb2057c2b (diff) | |
| download | cpython-cc82e33af978df793b83cefe4e25e07223a3a09e.zip cpython-cc82e33af978df793b83cefe4e25e07223a3a09e.tar.gz cpython-cc82e33af978df793b83cefe4e25e07223a3a09e.tar.bz2 | |
gh-115491: Keep some fields valid across allocations (free-threading) (#115573)
This avoids filling the memory occupied by ob_tid, ob_ref_local, and
ob_ref_shared with debug bytes (e.g., 0xDD) in mimalloc in the
free-threaded build.
Diffstat (limited to 'Objects/mimalloc/page.c')
| -rw-r--r-- | Objects/mimalloc/page.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/Objects/mimalloc/page.c b/Objects/mimalloc/page.c index 8f0ce92..63db893 100644 --- a/Objects/mimalloc/page.c +++ b/Objects/mimalloc/page.c @@ -661,6 +661,7 @@ static void mi_page_init(mi_heap_t* heap, mi_page_t* page, size_t block_size, mi // set fields mi_page_set_heap(page, heap); page->tag = heap->tag; + page->debug_offset = heap->debug_offset; page->xblock_size = (block_size < MI_HUGE_BLOCK_SIZE ? (uint32_t)block_size : MI_HUGE_BLOCK_SIZE); // initialize before _mi_segment_page_start size_t page_size; const void* page_start = _mi_segment_page_start(segment, page, &page_size); |
