]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
gh-112529: Implement GC for free-threaded builds (#114262)
authorSam Gross <colesbury@gmail.com>
Thu, 25 Jan 2024 18:27:36 +0000 (13:27 -0500)
committerGitHub <noreply@github.com>
Thu, 25 Jan 2024 18:27:36 +0000 (10:27 -0800)
commitb52fc70d1ab3be7866ab71065bae61a03a28bfae
treef364d714c70229ad70b6138aac6181d1ee375363
parent4850410b60183dac021ded219a49be140fe5fefe
gh-112529: Implement GC for free-threaded builds (#114262)

* gh-112529: Implement GC for free-threaded builds

This implements a mark and sweep GC for the free-threaded builds of
CPython. The implementation relies on mimalloc to find GC tracked
objects (i.e., "containers").
18 files changed:
Include/internal/pycore_freelist.h
Include/internal/pycore_gc.h
Include/internal/pycore_object.h
Include/internal/pycore_object_stack.h [new file with mode: 0644]
Include/object.h
Lib/gzip.py
Lib/test/test_gc.py
Lib/test/test_io.py
Makefile.pre.in
Misc/NEWS.d/next/Core and Builtins/2024-01-18-20-20-37.gh-issue-112529.oVNvDG.rst [new file with mode: 0644]
PCbuild/_freeze_module.vcxproj
PCbuild/_freeze_module.vcxproj.filters
PCbuild/pythoncore.vcxproj
PCbuild/pythoncore.vcxproj.filters
Python/gc.c
Python/gc_free_threading.c
Python/object_stack.c [new file with mode: 0644]
Python/pystate.c