cpython/Python
Sam Gross 79c43e7c24
gh-139103: Use borrowed references for positional args in _PyStack_UnpackDict (gh-144407)
The positional arguments passed to _PyStack_UnpackDict are already
kept alive by the caller, so we can avoid the extra reference count
operations by using borrowed references instead of creating new ones.

This reduces reference count contention in the free-threaded build
when calling functions with keyword arguments. In particular, this
avoids contention on the type argument to `__new__` when instantiating
namedtuples with keyword arguments.
2026-02-03 12:24:35 -05:00
..
clinic gh-135801: Add the module parameter to compile() etc (GH-139652) 2025-11-13 13:21:32 +02:00
frozen_modules
_contextvars.c
_warnings.c gh-135801: Improve filtering by module in warn_explicit() without module argument (GH-140151) 2025-10-30 15:55:39 +02:00
asdl.c
asm_trampoline.S
assemble.c
ast.c gh-143055: Implementation of PEP 798 (#143056) 2026-01-30 20:37:52 -08:00
ast_preprocess.c gh-143055: Implementation of PEP 798 (#143056) 2026-01-30 20:37:52 -08:00
ast_unparse.c
bltinmodule.c gh-135801: Add the module parameter to compile() etc (GH-139652) 2025-11-13 13:21:32 +02:00
bootstrap_hash.c
brc.c
bytecodes.c gh-139109: Replace _CHECK_STACK_SPACE with _CHECK_STACK_SPACE_OPERAND in JIT optiimizer (GH-144394) 2026-02-02 17:12:01 +00:00
ceval.c gh-139103: Use borrowed references for positional args in _PyStack_UnpackDict (gh-144407) 2026-02-03 12:24:35 -05:00
ceval.h gh-142913: Add test case for interpreter generator w/ overridden opcodes (#142911) 2026-01-16 10:33:29 -08:00
ceval_gil.c GH-142513: Reimplement executor management (GH-142931) 2025-12-18 16:43:44 +00:00
ceval_macros.h gh-120321: Make gi_yieldfrom thread-safe in free-threading build (#144292) 2026-01-30 12:20:27 -05:00
codecs.c Python/codecs.c: Remove unused forward declaration (#139511) 2025-10-03 13:33:49 +02:00
codegen.c gh-143055: Implementation of PEP 798 (#143056) 2026-01-30 20:37:52 -08:00
compile.c GH-143493: Conform to spec for generator expressions while supporting virtual iterators (GH-143569) 2026-01-16 09:11:58 +00:00
condvar.h
config_common.h
context.c gh-116738: make entering of contextvars.Context thread safe (#143074) 2026-01-06 12:24:02 +05:30
critical_section.c gh-140795: fetch thread state once on fast path for critical sections (#141406) 2025-11-21 19:49:53 +05:30
crossinterp.c gh-143377: fix crashes in _interpreters.capture_exception (#143418) 2026-01-10 12:37:54 +01:00
crossinterp_data_lookup.h
crossinterp_exceptions.h
dtoa.c
dup2.c
dynamic_annotations.c
dynload_hpux.c
dynload_shlib.c
dynload_stub.c
dynload_win.c
emscripten_signal.c
emscripten_syscalls.c
emscripten_trampoline.c gh-128627: Use __builtin_wasm_test_function_pointer_signature for Emscripten trampoline (#137470) 2025-09-17 15:33:55 +01:00
emscripten_trampoline_inner.c gh-128627: Use __builtin_wasm_test_function_pointer_signature for Emscripten trampoline (#137470) 2025-09-17 15:33:55 +01:00
errors.c gh-143547: Fix PyErr_FormatUnraisable() fallback (#143557) 2026-01-09 13:16:22 +01:00
executor_cases.c.h gh-139109: Replace _CHECK_STACK_SPACE with _CHECK_STACK_SPACE_OPERAND in JIT optiimizer (GH-144394) 2026-02-02 17:12:01 +00:00
fileutils.c gh-42400: Fix buffer overflow in _Py_wrealpath() for very long paths (#141529) 2025-11-18 17:34:58 +01:00
flowgraph.c GH-143493: Conform to spec for generator expressions while supporting virtual iterators (GH-143569) 2026-01-16 09:11:58 +00:00
frame.c gh-120321: Fix TSan reported races on gi_frame_state (gh-143128) 2025-12-24 16:10:43 -05:00
frozen.c
frozenmain.c
future.c
gc.c gh-141070: Rename PyUnstable_Object_Dump to PyObject_Dump (GH-142848) 2026-01-16 09:19:43 -05:00
gc_free_threading.c gh-144054: no deferred refcount for untracked (gh-144081) 2026-01-20 10:01:09 -08:00
gc_gil.c
generated_cases.c.h GH-144179: Add value recording to JIT tracing front-end (GH-144303) 2026-02-02 16:57:04 +00:00
getargs.c
getcompiler.c gh-141341: Rename COMPILER macro to _Py_COMPILER on Windows (#141342) 2025-11-10 15:50:51 +01:00
getcopyright.c
getopt.c
getplatform.c
getversion.c
hamt.c gh-142829: Fix use-after-free in Context.__eq__ via re-entrant ContextVar.set (#142905) 2026-01-09 17:57:34 +05:30
hashtable.c
import.c gh-142776: Ensure fp file descriptor is closed on all code paths in import.c (GH-142777) 2025-12-19 10:14:52 -08:00
importdl.c gh-140011: Delete importdl assertion that prevents importing embedded modules from packages (GH-141605) 2025-11-26 14:12:49 +01:00
index_pool.c
initconfig.c gh-144319: Fix huge page safety in pymalloc arenas (#144331) 2026-01-30 18:18:56 +00:00
instruction_sequence.c GH-143493: Conform to spec for generator expressions while supporting virtual iterators (GH-143569) 2026-01-16 09:11:58 +00:00
instrumentation.c Remove redundant pycore_optimizer.h includes (#143184) 2025-12-26 11:11:11 +00:00
interpconfig.c
intrinsics.c gh-111489: Remove _PyTuple_FromArray() alias (#139973) 2025-10-11 22:58:14 +02:00
jit.c GH-126910: add test for manual frame unwinding (#144137) 2026-01-27 13:17:40 +00:00
legacy_tracing.c gh-137400: Fix thread-safety issues when profiling all threads (gh-137518) 2025-08-13 14:15:12 -04:00
lock.c gh-120321: Make gi_yieldfrom thread-safe in free-threading build (#144292) 2026-01-30 12:20:27 -05:00
marshal.c gh-106287: Do not write objects after an unmarshalling error (GH-132715) 2026-01-14 11:25:46 +00:00
modsupport.c gh-137210: Add a struct, slot & function for checking an extension's ABI (GH-137212) 2025-09-05 16:23:18 +02:00
mysnprintf.c
mystrtoul.c
object_stack.c
opcode_targets.h gh-142982: Specialize CALL_FUNCTION_EX (GH-143391) 2026-01-06 20:34:08 +00:00
optimizer.c GH-144179: Add value recording to JIT tracing front-end (GH-144303) 2026-02-02 16:57:04 +00:00
optimizer_analysis.c gh-144145: Revert PR#144122 for performance and potential bugs. (GH-144391) 2026-02-02 14:09:54 +00:00
optimizer_bytecodes.c gh-139109: Replace _CHECK_STACK_SPACE with _CHECK_STACK_SPACE_OPERAND in JIT optiimizer (GH-144394) 2026-02-02 17:12:01 +00:00
optimizer_cases.c.h gh-139109: Replace _CHECK_STACK_SPACE with _CHECK_STACK_SPACE_OPERAND in JIT optiimizer (GH-144394) 2026-02-02 17:12:01 +00:00
optimizer_symbols.c gh-144145: Revert PR#144122 for performance and potential bugs. (GH-144391) 2026-02-02 14:09:54 +00:00
parking_lot.c gh-137433: Fix deadlock with stop-the-world and daemon threads (gh-137735) 2025-09-16 09:21:58 +01:00
pathconfig.c
perf_jit_trampoline.c gh-144194: Fix mmap failure check in perf_jit_trampoline.c (#143713) 2026-01-28 13:30:17 +00:00
perf_trampoline.c gh-143228: Fix UAF in perf trampoline during finalization (#143233) 2025-12-28 13:50:23 +00:00
preconfig.c
pyarena.c
pyctype.c
pyfpe.c
pyhash.c gh-111389: replace deprecated occurrences of _PyHASH_* macros (#141236) 2025-11-09 15:14:08 +01:00
pylifecycle.c gh-144307: Fix a reference leak during module teardown (GH-144308) 2026-01-29 13:50:54 -05:00
pymath.c
pystate.c gh-144068: fix JIT tracer memory leak when daemon thread exits (GH-144077) 2026-01-24 09:43:01 +00:00
pystats.c GH-135379: Top of stack caching for the JIT. (GH-135465) 2025-12-11 10:32:52 +00:00
pystrcmp.c
pystrhex.c gh-141370: Fix undefined behavior when using Py_ABS() (GH-141548) 2025-12-05 16:24:35 +02:00
pystrtod.c gh-141004: soft-deprecate Py_INFINITY macro (#141033) 2025-11-12 13:44:49 +01:00
Python-ast.c gh-143055: Implementation of PEP 798 (#143056) 2026-01-30 20:37:52 -08:00
Python-tokenize.c
pythonrun.c gh-141070: Rename PyUnstable_Object_Dump to PyObject_Dump (GH-142848) 2026-01-16 09:19:43 -05:00
pytime.c gh-80620: Support negative timestamps on windows in time.gmtime, time.localtime, and datetime module (#143463) 2026-01-15 10:51:11 +01:00
qsbr.c fix typos in crossinterp.c and qsbr.c (#142612) 2025-12-12 11:48:20 +05:30
README
record_functions.c.h GH-144179: Add value recording to JIT tracing front-end (GH-144303) 2026-02-02 16:57:04 +00:00
remote_debug.h gh-131591: Do not free page caches that weren't allocated (#143205) 2025-12-27 13:38:11 +00:00
remote_debugging.c gh-138122: Implement frame caching in RemoteUnwinder to reduce memory reads (#142137) 2025-12-06 22:37:34 +00:00
specialize.c gh-144289: Remove ENABLE_SPECIALIZATION_FT (gh-144290) 2026-01-27 17:52:50 -05:00
stackrefs.c gh-131527: Stackref debug borrow checker (#140599) 2025-11-05 11:12:56 -08:00
stdlib_module_names.h gh-81313: Add the math.integer module (PEP-791) (GH-133909) 2025-10-31 16:13:43 +02:00
structmember.c gh-41779: Allow defining any __slots__ for a class derived from tuple (GH-141763) 2026-01-06 11:36:00 +02:00
suggestions.c
symtable.c gh-135801: Add the module parameter to compile() etc (GH-139652) 2025-11-13 13:21:32 +02:00
sysmodule.c gh-142571: Check for errors before calling each syscall in PyUnstable_CopyPerfMapFile() (#142460) 2025-12-11 21:18:52 +00:00
thread.c gh-134745: Use "pymutex" for sys.thread_info on Windows (#141140) 2025-11-06 16:10:39 +01:00
thread_nt.h
thread_pthread.h gh-137884: Added threading.get_native_id() on Illumos/Solaris (GH-137927) 2025-08-20 17:10:44 +00:00
thread_pthread_stubs.h
tier2_engine.md
traceback.c gh-143108: Don't instrument some faulthandler related functions for TSan (#143450) 2026-01-05 22:13:29 +01:00
tracemalloc.c gh-143057: avoid locking in tracemalloc C-APIs when it is not enabled (#143065) 2025-12-22 21:08:07 +05:30
uniqueid.c
vm-state.md

Miscellaneous source files for the main Python shared library