cpython/Python
Neil Schemenauer 27f27a68b3
[3.14] gh-142531: Fix free-threaded GC performance regression (gh-142562) (gh-142617)
If there are many untracked tuples, the GC will run too often, resulting
in poor performance.  The fix is to include untracked tuples in the
"long lived" object count. The number of frozen objects is also now
included since the free-threaded GC must scan those too.
(cherry picked from commit e38967ed60)
2025-12-12 14:30:20 -08:00
..
clinic [3.14] gh-139748: fix leaks in AC error paths when using unicode FS-b… (#139789) 2025-10-08 22:16:21 +05:30
frozen_modules gh-97669: Create Tools/build/ directory (#97963) 2022-10-17 12:01:00 +02:00
_contextvars.c gh-128384: Use a context variable for warnings.catch_warnings (gh-130010) 2025-04-09 16:18:54 -07:00
_warnings.c [3.14] gh-139640: Fix swallowing syntax warnings in different modules (GH-139755) (GH-140117) 2025-10-14 15:56:01 +00: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 [3.14] gh-136541: Fix several problems of perf trampolines in x86_64 and aarch64 (GH-136500) (#136544) 2025-07-11 14:06:19 +00:00
assemble.c gh-87859: Track Code Object Local Kinds For Arguments (gh-132980) 2025-04-29 02:21:47 +00:00
ast.c gh-132661: Implement PEP 750 (#132662) 2025-04-30 11:46:41 +02:00
ast_preprocess.c [3.14] gh-131927: Do not emit PEP 765 warnings in ast.parse() (GH-139642) (GH-140786) 2025-10-30 11:25:34 +00:00
ast_unparse.c [3.14] gh-132661: Disallow Template/str concatenation after PEP 750 spec update (#135996) (#136901) 2025-07-21 17:34:54 +02:00
bltinmodule.c [3.14] gh-140517: fix leak in map_next in strict mode (GH-140543) (#140554) 2025-10-24 22:00:36 +05:30
bootstrap_hash.c GH-131238: Core header refactor (GH-131250) 2025-03-17 09:19:04 +00:00
brc.c Fix typos in documentation and comments (#119763) 2024-06-04 10:22:22 +00:00
bytecodes.c [3.14] gh-137400: Fix thread-safety issues when profiling all threads (gh-137518) (gh-137730) 2025-10-07 13:45:23 -04:00
ceval.c [3.14] gh-140373: Correctly emit PY_UNWIND event when generator is closed (GH-140767) (#140816) 2025-11-30 14:35:14 +02:00
ceval_gil.c [3.14] GH-133136: Revise QSBR to reduce excess memory held (gh-135473) (#135912) 2025-07-08 10:58:01 -07:00
ceval_macros.h [3.14] gh-140104: Set next_instr properly in the JIT during exceptions (GH-140233) (GH-141495) 2025-11-13 18:47:25 +00:00
codecs.c [3.14] gh-58124: Avoid CP_UTF8 in UnicodeDecodeError (GH-137415) (#137460) 2025-10-07 19:39:31 +02:00
codegen.c [3.14] gh-138349: Fix crash when combining module-level annotation and listcomp (#138363) (#138749) 2025-09-11 08:43:57 +03:00
compile.c [3.14] gh-131927: Do not emit PEP 765 warnings in ast.parse() (GH-139642) (GH-140786) 2025-10-30 11:25:34 +00:00
condvar.h gh-104530: Enable native Win32 condition variables by default (GH-104531) 2024-02-02 13:50:51 +00:00
config_common.h gh-76785: Add PyInterpreterConfig Helpers (gh-117170) 2024-04-02 20:35:52 +00:00
context.c [3.14] gh-138192: Fix Context initialization so that all subinterpreters are assigned the MISSING value. (gh-138503) (#138505) 2025-09-05 15:30:04 +03:00
critical_section.c [3.14] gh-114203: skip locking if object is already locked by two-mutex critical section (GH-141476) (#141564) 2025-11-14 18:38:30 +00:00
crossinterp.c [3.14] gh-140306: Fix memory leaks in cross-interpreter data handling (GH-140307) (GH-140338) 2025-10-19 19:53:36 +00:00
crossinterp_data_lookup.h [3.14] gh-135443: Sometimes Fall Back to __main__.__dict__ For Globals (gh-135593) 2025-06-16 23:59:30 +00:00
crossinterp_exceptions.h [3.14] gh-132775: Clean Up Cross-Interpreter Error Handling (gh-135492) 2025-06-14 02:08:25 +00:00
dtoa.c gh-131238: Add explicit includes to pycore headers (#131257) 2025-03-17 12:32:43 +01: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-131238: Remove more includes from pycore_interp.h (#131480) 2025-03-19 23:01:32 +01: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-131238: Remove pycore_runtime.h from pycore_pystate.h (#131356) 2025-03-19 17:33:24 +01:00
emscripten_signal.c GH-108614: Unbreak emscripten build (GH-109132) 2023-09-08 17:54:45 +01:00
emscripten_syscalls.c [3.14] gh-124621: Emscripten: Support pyrepl in browser (GH-136931) (GH-136988) 2025-07-22 15:04:11 +02:00
emscripten_trampoline.c [3.14] gh-128627: Use __builtin_wasm_test_function_pointer_signature for Emscripten trampoline (GH-137470) (#139039) 2025-09-17 17:21:01 +01:00
emscripten_trampoline_inner.c [3.14] gh-128627: Use __builtin_wasm_test_function_pointer_signature for Emscripten trampoline (GH-137470) (#139039) 2025-09-17 17:21:01 +01:00
errors.c [3.14] gh-139640: Fix swallowing syntax warnings in different modules (GH-139755) (GH-140117) 2025-10-14 15:56:01 +00:00
executor_cases.c.h [3.14] gh-138264: Fix gcc 14 compiler warnings (GH-138265) (GH-138426) 2025-10-07 22:26:05 +02:00
fileutils.c gh-124476: Fix decoding from the locale encoding in the C.UTF-8 locale (GH-132477) 2025-04-14 21:32:41 +03:00
flowgraph.c [3.14] gh-137288: Fix bug where boolean expressions are not associated with the correct exception handler (GH-137310). (#137427) 2025-08-12 12:56:37 +03:00
formatter_unicode.c GH-131238: Core header refactor (GH-131250) 2025-03-17 09:19:04 +00:00
frame.c gh-131173: Improve exception handling during take_ownership processing (#132620) 2025-04-17 13:38:34 -07:00
frozen.c GH-89435: os.path should not be a frozen module (#126924) 2024-11-22 18:50:30 +00:00
frozenmain.c gh-105716: Fix _PyInterpreterState_IsRunningMain() For Embedders (gh-117140) 2024-03-21 18:20:20 -06:00
future.c gh-126139: Improve error message location for future statement with unknown feature (#126140) 2024-10-29 23:57:59 +00:00
gc.c [3.14] Revert "GH-91636: Clear weakrefs created by finalizers. (GH-136401) (#141993)" (#142152) 2025-12-01 20:34:37 +02:00
gc_free_threading.c [3.14] gh-142531: Fix free-threaded GC performance regression (gh-142562) (gh-142617) 2025-12-12 14:30:20 -08:00
gc_gil.c gh-100240: Use a consistent implementation for freelists (#121934) 2024-07-22 12:08:27 -04:00
generated_cases.c.h [3.14] gh-138264: Fix gcc 14 compiler warnings (GH-138265) (GH-138426) 2025-10-07 22:26:05 +02:00
getargs.c [3.14] Revert "gh-112068: C API: Add support of nullable arguments in PyArg_Parse (GH-121303)" (GH-136991) (#137006) 2025-07-22 19:16:31 +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 gh-126133: Only use start year in PSF copyright, remove end years (#126236) 2024-11-12 15:59:19 +02:00
getopt.c GH-133336: Remove reserved `-J` flag for Jython (#133444) 2025-05-05 15:09:19 +00:00
getplatform.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
getversion.c [3.14] gh-119132: Remove "experimental" tag from the CPython free-threading. (gh-135550) (gh-135565) 2025-06-16 14:58:14 +00:00
hamt.c [3.14] gh-137440: Update comment in Python/hamt.c on importing for testing (GH-137441) (#137519) 2025-10-07 20:47:26 +02:00
hashtable.c gh-111545: Add Py_HashPointer() function (#112096) 2023-12-06 15:09:22 +01:00
import.c [3.14] gh-137422: Fix race condition in PyImport_AddModuleRef (gh-141822) (gh-141830) 2025-11-21 18:57:30 +00:00
importdl.c [3.14] gh-140011: Delete importdl assertion that prevents importing embedded modules from packages (GH-141605) (#141986) 2025-11-28 23:30:57 -08:00
index_pool.c [3.14] gh-91048: Refactor and optimize remote debugging module (#134652) (#134673) 2025-05-25 22:10:20 +00:00
initconfig.c [3.14] gh-138756: Fix leak of inittab memory in PyInitConfig_Free() (GH-138792) (#139703) 2025-10-07 17:11:20 +00:00
instruction_sequence.c GH-124715: Move trashcan mechanism into Py_Dealloc (GH-132280) 2025-04-30 11:37:53 +01:00
instrumentation.c [3.14] gh-120158: Fix inconsistent monitoring state when setting events too frequently (gh-141845) (gh-141879) 2025-11-23 15:31:56 +00:00
interpconfig.c GH-131238: Core header refactor (GH-131250) 2025-03-17 09:19:04 +00:00
intrinsics.c Get rid of ERROR_IF's "label" parameter (GH-132654) 2025-04-29 17:21:53 -07:00
jit.c [3.14] GH-134291: Support older macOS deployment targets for JIT builds (GH-137211) (#137701) 2025-08-13 13:37:01 +03:00
legacy_tracing.c [3.14] gh-137400: Fix thread-safety issues when profiling all threads (gh-137518) (gh-137730) 2025-10-07 13:45:23 -04:00
lock.c [3.14] gh-134009: Expose PyMutex_IsLocked in the public C API (gh-134365) (#136971) 2025-07-22 12:48:08 +03:00
marshal.c [3.14] gh-141370: Fix undefined behavior when using Py_ABS() (GH-141548) (GH-142301) 2025-12-12 15:11:43 +00:00
modsupport.c gh-132909: handle overflow for 'K' format in do_mkvalue (#132911) 2025-04-25 11:02:57 +00: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-100240: Use a consistent implementation for freelists (#121934) 2024-07-22 12:08:27 -04:00
opcode_targets.h gh-100239: specialize BINARY_OP/SUBSCR for list-slice (#132626) 2025-05-01 10:28:52 +00:00
optimizer.c [3.14] gh-137007: Track executor before any possible deallocations (GH-137016) (GH-142541) 2025-12-10 22:54:28 +00:00
optimizer_analysis.c [3.14] gh-137728 gh-137762: Fix bugs in the JIT with many local variables (GH-137764) (#137999) 2025-08-21 17:00:05 +03:00
optimizer_bytecodes.c [3.14] gh-135608: Add a null check for attribute promotion to fix a JIT crash (GH-135613) (#135739) 2025-06-20 15:24:25 +08:00
optimizer_cases.c.h [3.14] gh-135608: Add a null check for attribute promotion to fix a JIT crash (GH-135613) (#135739) 2025-06-20 15:24:25 +08:00
optimizer_symbols.c [3.14] gh-137728 gh-137762: Fix bugs in the JIT with many local variables (GH-137764) (#137999) 2025-08-21 17:00:05 +03:00
parking_lot.c [3.14] gh-137433: Fix deadlock with stop-the-world and daemon threads (gh-137735) (GH-138965) 2025-10-07 20:46:52 +02:00
pathconfig.c gh-111924: Fix data races when swapping allocators (gh-130287) 2025-02-20 11:31:15 -05:00
perf_jit_trampoline.c [3.14] gh-136541: Fix several problems of perf trampolines in x86_64 and aarch64 (GH-136500) (#136544) 2025-07-11 14:06:19 +00:00
perf_trampoline.c [3.14] gh-136541: Fix several problems of perf trampolines in x86_64 and aarch64 (GH-136500) (#136544) 2025-07-11 14:06:19 +00:00
preconfig.c gh-106320: Remove private pylifecycle.h functions (#106400) 2023-07-04 09:41:43 +00:00
pyarena.c Chore: Fix typo in pyarena.c (#126527) 2024-11-07 16:37:41 +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-122854: Add Py_HashBuffer() function (#122855) 2024-08-30 15:42:27 +00:00
pylifecycle.c [3.14] gh-125434: Display thread name in faulthandler on Windows (#142011) 2025-11-27 12:05:37 +00:00
pymath.c bpo-45440: Remove pymath.c fallbacks (GH-28977) 2021-10-15 19:45:34 +02:00
pystate.c [3.14] gh-142048: Fix lost gc allocations count on thread cleanup (GH-142233) (#142504) 2025-12-10 10:52:55 +00:00
pystrcmp.c gh-108767: Replace ctype.h functions with pyctype.h functions (#108772) 2023-09-01 18:36:53 +02:00
pystrhex.c [3.14] gh-141370: Fix undefined behavior when using Py_ABS() (GH-141548) (GH-142301) 2025-12-12 15:11:43 +00:00
pystrtod.c gh-120026: soft deprecate Py_HUGE_VAL macro (#120027) 2024-11-01 22:04:31 +00:00
Python-ast.c [3.14] gh-140471: Fix buffer overflow in AST node initialization with malformed _fields (GH-140506) (#140509) 2025-10-23 10:20:21 -07:00
Python-tokenize.c gh-111178: Fix function signatures for test_types (#131455) 2025-03-19 13:46:17 +00:00
pythonrun.c [3.14] gh-137576: Fix for Basic REPL showing incorrect code in tracebacks with PYTHONSTARTUP (GH-137625) (#137771) 2025-08-27 18:28:20 +03:00
pytime.c gh-131238: Remove pycore_runtime.h from pycore_pystate.h (#131356) 2025-03-19 17:33:24 +01:00
qsbr.c [3.14] GH-133136: Revise QSBR to reduce excess memory held (gh-135473) (#135912) 2025-07-08 10:58:01 -07:00
README Issue #18093: Factor out the programs that embed the runtime 2014-07-25 21:52:14 +10:00
remote_debug.h [3.14] gh-142627: Ignore anonymous mappings in Linux remote debugging (GH-142628) (#142630) 2025-12-12 13:38:09 +00:00
remote_debugging.c [3.14] Fix compiler warnings in remote debugging (#141060) (#141067) 2025-11-05 19:49:39 +00:00
specialize.c [3.14] gh-139525: Don't specialize functions which have a modified vectorcall (GH-139524) (#139709) 2025-10-08 09:13:34 -07:00
stackrefs.c [3.14] gh-133590: ensure that TableEntry.linenumber_borrow is initialized (GH-133681) (#133872) 2025-05-11 08:44:22 +00:00
stdlib_module_names.h GH-91048: Minor fixes for `_remotedebugging & rename to _remote_debugging` (#133398) 2025-05-05 02:30:14 +02:00
structmember.c gh-132685: fix thread safety of PyMember_GetOne with _Py_T_OBJECT (#132690) 2025-04-18 21:03:42 +05:30
suggestions.c GH-131238: Core header refactor (GH-131250) 2025-03-17 09:19:04 +00:00
symtable.c gh-132661: Implement PEP 750 (#132662) 2025-04-30 11:46:41 +02:00
sysmodule.c [3.14] gh-142571: Check for errors before calling each syscall in PyUnstable_CopyPerfMapFile() (GH-142460) (#142600) 2025-12-11 22:13:36 +00:00
thread.c gh-131238: Add explicit includes to pycore headers (#131257) 2025-03-17 12:32:43 +01:00
thread_nt.h GH-131296: Add missing UNREACHABLE mark in thread_nt.h (GH-131589) 2025-03-31 20:28:35 +01:00
thread_pthread.h gh-130115: fix thread identifiers for 32-bit musl (#130391) 2025-04-04 16:31:37 +02:00
thread_pthread_stubs.h gh-125161: return non zero value in pthread_self on wasi (#125303) 2024-10-13 20:59:41 +05:30
tier2_engine.md Docs: fix spelling of the word 'transferring' (#116641) 2024-03-13 23:53:32 +01:00
traceback.c [3.14] gh-116008: Detect freed thread state in faulthandler (GH-141988) (#142013) 2025-11-27 20:34:00 +00:00
tracemalloc.c gh-131296: fix clang-cl warning in tracemalloc.c (#131514) 2025-03-22 10:38:47 +01:00
uniqueid.c gh-128923: Use zero to indicate unassigned unique id (#128925) 2025-01-17 16:42:27 +01:00
vm-state.md gh-133079: Remove Py_C_RECURSION_LIMIT & PyThreadState.c_recursion_remaining (GH-133080) 2025-04-29 12:56:20 +02:00

Miscellaneous source files for the main Python shared library