cpython/Objects/mimalloc
Sam Gross 412920a41e
gh-112532: Improve mimalloc page visiting (#114133)
This adds support for visiting abandoned pages in mimalloc and improves
the performance of the page visiting code. Abandoned pages contain
memory blocks from threads that have exited. At some point, they may be
later reclaimed by other threads. We still need to visit those pages in
the free-threaded GC because they contain live objects.

This also reduces the overhead of visiting mimalloc pages:

 * Special cases for full, empty, and pages containing only a single
   block.
 * Fix free_map to use one bit instead of one byte per block.
 * Use fast integer division by a constant algorithm when computing
   block offset from block size and index.
2024-01-22 13:10:21 -08:00
..
prim gh-112808: Fix mimalloc build on Solaris (#112809) 2024-01-08 15:50:56 -08:00
alloc-aligned.c
alloc-override.c
alloc-posix.c
alloc.c
arena.c
bitmap.c
bitmap.h
heap.c gh-112532: Improve mimalloc page visiting (#114133) 2024-01-22 13:10:21 -08:00
init.c gh-112532: Tag mimalloc heaps and pages (#113742) 2024-01-05 12:08:50 -08:00
options.c
os.c
page-queue.c
page.c gh-112532: Tag mimalloc heaps and pages (#113742) 2024-01-05 12:08:50 -08:00
random.c
segment-map.c
segment.c gh-112532: Improve mimalloc page visiting (#114133) 2024-01-22 13:10:21 -08:00
static.c
stats.c