cpython/Objects/mimalloc
Sam Gross fcb3c2a444
gh-112532: Isolate abandoned segments by interpreter (#113717)
* gh-112532: Isolate abandoned segments by interpreter

Mimalloc segments are data structures that contain memory allocations along
with metadata. Each segment is "owned" by a thread. When a thread exits,
it abandons its segments to a global pool to be later reclaimed by other
threads. This changes the pool to be per-interpreter instead of process-wide.

This will be important for when we use mimalloc to find GC objects in the
`--disable-gil` builds. We want heaps to only store Python objects from a
single interpreter. Absent this change, the abandoning and reclaiming process
could break this isolation.

* Add missing '&_mi_abandoned_default' to 'tld_empty'
2024-01-04 22:21:40 +00:00
..
prim gh-112027: Don't print mimalloc warning after mmap() call (gh-113372) 2023-12-22 09:38:27 +09:00
alloc-aligned.c
alloc-override.c
alloc-posix.c
alloc.c
arena.c
bitmap.c
bitmap.h
heap.c gh-112532: Use separate mimalloc heaps for GC objects (gh-113263) 2023-12-27 01:53:20 +09:00
init.c gh-112532: Isolate abandoned segments by interpreter (#113717) 2024-01-04 22:21:40 +00:00
options.c
os.c
page-queue.c
page.c
random.c
segment-map.c
segment.c gh-112532: Isolate abandoned segments by interpreter (#113717) 2024-01-04 22:21:40 +00:00
static.c
stats.c