cpython/Python
Sam Gross f05fb2e65c
gh-112529: Don't untrack tuples or dicts with zero refcount (#117370)
The free-threaded GC sometimes sees objects with zero refcount. This can
happen due to the delay in merging biased reference counting fields,
and, in the future, due to deferred reference counting. We should not
untrack these objects or they will never be collected.

This fixes the refleaks in the free-threaded build.
2024-03-29 13:33:04 -04:00
..
clinic GH-114695: Add sys._clear_internal_caches (GH-115152) 2024-02-12 09:04:36 +00:00
frozen_modules gh-97669: Create Tools/build/ directory (#97963) 2022-10-17 12:01:00 +02:00
_warnings.c gh-116664: Fix unused var warnings in _warnings.c in non-free-threaded builds (#117373) 2024-03-29 17:26:06 +00:00
adaptive.md GH-98686: Get rid of "adaptive" and "quick" instructions (GH-99182) 2022-11-09 10:50:09 -08:00
asdl.c bpo-43244: Remove ast.h, asdl.h, Python-ast.h headers (GH-24933) 2021-03-23 20:47:40 +01:00
asm_trampoline.S gh-96143: Move the perf trampoline files to the Python directory (#98675) 2022-10-25 23:34:22 +01:00
assemble.c gh-117288: Allocate fewer label IDs in _PyCfg_ToInstructionSequence (#117290) 2024-03-27 17:38:19 +00:00
ast.c GH-113655: Lower the C recursion limit on various platforms (GH-113944) 2024-01-16 09:32:01 +00:00
ast_opt.c GH-113655: Lower the C recursion limit on various platforms (GH-113944) 2024-01-16 09:32:01 +00:00
ast_unparse.c gh-100227: Move _str_replace_inf to PyInterpreterState (gh-102333) 2023-02-28 14:16:39 -07:00
bltinmodule.c gh-116437: Use new C API PyDict_Pop() to simplify the code (GH-116438) 2024-03-07 11:21:08 +02:00
bootstrap_hash.c gh-110014: Fix bootstrap_hash.c: remove debug code (#110161) 2023-09-30 22:21:20 +00:00
brc.c gh-110481: Fix biased reference counting queue initialization. (#117271) 2024-03-28 09:28:39 -04:00
bytecodes.c GH-116422: Tier2 hot/cold splitting (GH-116813) 2024-03-26 09:35:11 +00:00
ceval.c GH-117121: Add pystats to JIT builds (GH-117346) 2024-03-28 15:23:08 -07:00
ceval_gil.c gh-116522: Refactor _PyThreadState_DeleteExcept (#117131) 2024-03-21 11:21:02 -07:00
ceval_macros.h GH-117121: Add pystats to JIT builds (GH-117346) 2024-03-28 15:23:08 -07:00
codecs.c gh-111972: Make Unicode name C APIcapsule initialization thread-safe (#112249) 2023-11-30 11:12:49 +01:00
compile.c gh-117288: Allocate fewer label IDs in _PyCfg_ToInstructionSequence (#117290) 2024-03-27 17:38:19 +00:00
condvar.h gh-104530: Enable native Win32 condition variables by default (GH-104531) 2024-02-02 13:50:51 +00:00
context.c gh-111968: Split _Py_dictkeys_freelist out of _Py_dict_freelist (gh-115505) 2024-02-16 01:01:36 +00:00
critical_section.c gh-111569: Implement Python critical section API (gh-111571) 2023-11-08 15:39:29 -07:00
crossinterp.c gh-111696, PEP 737: Add PyType_GetModuleName() function (#116824) 2024-03-14 18:17:43 +00:00
crossinterp_data_lookup.h gh-76785: Improved Subinterpreters Compatibility with 3.12 (gh-115424) 2024-02-13 14:56:49 -07:00
crossinterp_exceptions.h gh-76785: Improved Subinterpreters Compatibility with 3.12 (gh-115424) 2024-02-13 14:56:49 -07:00
dtoa.c gh-111962: Make dtoa thread-safe in --disable-gil builds. (#112049) 2023-12-07 13:47:55 +00:00
dup2.c gh-108765: Python.h no longer includes <unistd.h> (#108783) 2023-09-02 16:50:18 +02:00
dynamic_annotations.c bpo-32241: Add the const qualifire to declarations of umodifiable strings. (#4748) 2017-12-12 13:55:04 +02:00
dynload_hpux.c gh-88402: Add new sysconfig variables on Windows (GH-110049) 2023-10-04 22:50:29 +00:00
dynload_shlib.c gh-88402: Add new sysconfig variables on Windows (GH-110049) 2023-10-04 22:50:29 +00:00
dynload_stub.c gh-88402: Add new sysconfig variables on Windows (GH-110049) 2023-10-04 22:50:29 +00:00
dynload_win.c gh-88402: Add new sysconfig variables on Windows (GH-110049) 2023-10-04 22:50:29 +00:00
emscripten_signal.c GH-108614: Unbreak emscripten build (GH-109132) 2023-09-08 17:54:45 +01:00
emscripten_trampoline.c gh-106213: Make Emscripten trampolines work with JSPI (GH-106219) 2023-09-15 15:04:21 -07:00
errors.c gh-111375: Use NULL rather than None in the exception stack to indicate that an exception was handled (#113302) 2023-12-21 01:46:41 +00:00
executor_cases.c.h GH-116422: Tier2 hot/cold splitting (GH-116813) 2024-03-26 09:35:11 +00:00
fileutils.c gh-112970: Detect and use closefrom() when available (#112969) 2023-12-12 11:25:27 +01:00
flowgraph.c gh-117288: Allocate fewer label IDs in _PyCfg_ToInstructionSequence (#117290) 2024-03-27 17:38:19 +00:00
formatter_unicode.c gh-92536: Remove PyUnicode_READY() calls (#105210) 2023-06-02 01:33:17 +02:00
frame.c GH-116098: Remove dead frame object creation code (GH-116687) 2024-03-12 23:35:28 +00:00
frozen.c gh-108716: Cleanup remaining deepfreeze infrastructure (#116919) 2024-03-18 11:13:11 -07:00
frozenmain.c gh-105716: Fix _PyInterpreterState_IsRunningMain() For Embedders (gh-117140) 2024-03-21 18:20:20 -06:00
future.c gh-106320: Remove more private _PyUnicode C API functions (#106382) 2023-07-03 22:35:46 +00:00
gc.c GH-117108: Set the "old space bit" to "visited" for all young objects (#117213) 2024-03-26 11:11:42 +00:00
gc_free_threading.c gh-112529: Don't untrack tuples or dicts with zero refcount (#117370) 2024-03-29 13:33:04 -04:00
gc_gil.c gh-111968: Rename freelist related struct names to Eric's suggestion (gh-115329) 2024-02-14 00:32:51 +00:00
generated_cases.c.h GH-116422: Tier2 hot/cold splitting (GH-116813) 2024-03-26 09:35:11 +00:00
getargs.c gh-116447: Fix possible UB in arraymodule and getargs (#116459) 2024-03-08 13:49:52 +03:00
getcompiler.c closes bpo-43278: remove unnecessary leading '\n' from COMPILER when build with GCC/Clang (GH-24606) 2021-02-25 20:24:21 -08:00
getcopyright.c Update copyright years to 2024. (GH-113608) 2024-01-16 21:54:05 +01:00
getopt.c gh-110079: Remove extern "C" { ...} in C code (#110080) 2023-09-29 10:56:49 +02:00
getplatform.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
getversion.c gh-81057: Move Globals in Core Code to _PyRuntimeState (gh-99496) 2022-11-15 09:45:11 -07:00
hamt.c gh-106320: Remove private PyLong C API functions (#108429) 2023-08-24 18:53:50 +02:00
hashtable.c gh-111545: Add Py_HashPointer() function (#112096) 2023-12-06 15:09:22 +01:00
import.c GH-108362: Incremental Cycle GC (GH-116206) 2024-03-20 08:54:42 +00:00
importdl.c gh-88402: Add new sysconfig variables on Windows (GH-110049) 2023-10-04 22:50:29 +00:00
initconfig.c gh-117041: Add "-X gil" in the Python CLI help (GH-117042) 2024-03-19 23:30:25 +02:00
instrumentation.c gh-115832: Fix instrumentation version mismatch during interpreter shutdown (#115856) 2024-03-04 11:29:39 -05:00
intrinsics.c gh-107149: make new opcode util functions private rather than public and unstable (#112042) 2023-11-14 00:31:02 +00:00
jit.c GH-116422: Tier2 hot/cold splitting (GH-116813) 2024-03-26 09:35:11 +00:00
legacy_tracing.c gh-103615: Use local events for opcode tracing (GH-109472) 2023-11-03 16:39:50 +00:00
lock.c gh-114271: Fix race in Thread.join() (#114839) 2024-03-16 13:56:30 +01:00
marshal.c gh-114099: Additions to standard library to support iOS (GH-117052) 2024-03-28 03:59:33 -04:00
modsupport.c gh-84489: Properly handle trailing spaces in Py_BuildValue() format strings (GH-21158) 2023-10-11 14:44:06 +03:00
mysnprintf.c Add a warning message about PyOS_snprintf (#95993) 2022-10-07 11:49:53 -07:00
mystrtoul.c gh-108765: Python.h no longer includes <ctype.h> (#108831) 2023-09-03 18:54:27 +02:00
object_stack.c gh-111968: Split _Py_dictkeys_freelist out of _Py_dict_freelist (gh-115505) 2024-02-16 01:01:36 +00:00
opcode_targets.h gh-116381: Remove bad specializations, add fail stats (GH-116464) 2024-03-08 00:21:21 +08:00
optimizer.c GH-116422: Tier2 hot/cold splitting (GH-116813) 2024-03-26 09:35:11 +00:00
optimizer_analysis.c GH-116422: Tier2 hot/cold splitting (GH-116813) 2024-03-26 09:35:11 +00:00
optimizer_bytecodes.c gh-117176: Fix compiler warning in Python/optimizer_bytecodes.c (GH-117199) 2024-03-24 20:34:55 +02:00
optimizer_cases.c.h GH-116422: Tier2 hot/cold splitting (GH-116813) 2024-03-26 09:35:11 +00:00
optimizer_symbols.c GH-115819: Eliminate Boolean guards when value is known (GH-116355) 2024-03-05 15:06:00 +00:00
parking_lot.c gh-108724: Fix _PySemaphore_Wait call during thread deletion (#116483) 2024-03-08 15:26:36 -05:00
pathconfig.c gh-110079: Remove extern "C" { ...} in C code (#110080) 2023-09-29 10:56:49 +02:00
perf_trampoline.c gh-113343: Fix error check on mmap(2) (#113342) 2023-12-21 19:28:55 +00:00
preconfig.c gh-106320: Remove private pylifecycle.h functions (#106400) 2023-07-04 09:41:43 +00:00
pyarena.c bpo-43244: Remove the pyarena.h header (GH-25007) 2021-03-24 02:23:01 +01:00
pyctype.c
pyfpe.c bpo-46315: Add ifdef HAVE_ feature checks for WASI compatibility (GH-30507) 2022-01-13 09:46:04 +01:00
pyhash.c gh-113024: C API: Add PyObject_GenericHash() function (GH-113025) 2024-03-22 20:19:10 +02:00
pylifecycle.c gh-116522: Refactor _PyThreadState_DeleteExcept (#117131) 2024-03-21 11:21:02 -07:00
pymath.c bpo-45440: Remove pymath.c fallbacks (GH-28977) 2021-10-15 19:45:34 +02:00
pystate.c gh-110481: Fix biased reference counting queue initialization. (#117271) 2024-03-28 09:28:39 -04:00
pystrcmp.c gh-108767: Replace ctype.h functions with pyctype.h functions (#108772) 2023-09-01 18:36:53 +02:00
pystrhex.c gh-108765: pystrhex: Replace stdlib.h abs() with Py_ABS() (#108830) 2023-09-02 23:15:54 +02:00
pystrtod.c gh-108765: Cleanup #include in Python/*.c files (#108977) 2023-09-06 15:56:08 +02:00
Python-ast.c gh-117266: Fix crashes on user-created AST subclasses (GH-117276) 2024-03-28 11:30:31 +01:00
Python-tokenize.c gh-112943: Correctly compute end offsets for multiline tokens in the tokenize module (#112949) 2023-12-11 11:44:22 +00:00
pythonrun.c gh-116437: Use new C API PyDict_Pop() to simplify the code (GH-116438) 2024-03-07 11:21:08 +02:00
pytime.c gh-63207: Use GetSystemTimePreciseAsFileTime() in time.time() (#116822) 2024-03-18 17:13:01 +01:00
qsbr.c gh-115103: Fix unregistering of QSBR state (#116480) 2024-03-08 12:39:53 -05:00
README Issue #18093: Factor out the programs that embed the runtime 2014-07-25 21:52:14 +10:00
specialize.c A few minor tweaks to get stats working and compiling cleanly. (#117219) 2024-03-25 13:43:51 -07:00
stdlib_module_names.h gh-114099: Additions to standard library to support iOS (GH-117052) 2024-03-28 03:59:33 -04:00
structmember.c gh-115011: Improve support of __index__() in setters of members with unsigned integer type (GH-115029) 2024-02-11 12:45:58 +02:00
suggestions.c gh-113845: Fix a compiler warning in Python/suggestions.c (GH-113949) 2024-01-11 20:31:24 +02:00
symtable.c gh-96497: Mangle name before symtable lookup in 'symtable_extend_namedexpr_scope' (GH-96561) 2024-02-17 12:06:31 +00:00
sysmodule.c gh-116167: Allow disabling the GIL with PYTHON_GIL=0 or -X gil=0 (#116338) 2024-03-11 11:02:58 -04:00
thread.c gh-110850: Cleanup PyTime API: PyTime_t are nanoseconds (#115753) 2024-02-21 11:46:00 +01:00
thread_nt.h gh-116012: Preserve GetLastError() across calls to TlsGetValue on Windows (GH-116014) 2024-02-28 13:58:25 +00:00
thread_pthread.h gh-112536: Add TSAN builds on Github Actions (#116872) 2024-03-16 11:10:37 +01:00
thread_pthread_stubs.h GH-110829: Ensure Thread.join() joins the OS thread (#110848) 2023-11-04 13:59:24 +00:00
tier2_engine.md Docs: fix spelling of the word 'transferring' (#116641) 2024-03-13 23:53:32 +01:00
traceback.c GH-113655: Lower the C recursion limit on various platforms (GH-113944) 2024-01-16 09:32:01 +00:00
tracemalloc.c gh-108765: Cleanup #include in Python/*.c files (#108977) 2023-09-06 15:56:08 +02:00
vm-state.md High level docs for the VM state (#111621) 2023-11-01 22:55:10 +00:00

Miscellaneous source files for the main Python shared library