cpython/Python
Neil Schemenauer 350c58ba4e
GH-135552: Make the GC clear weakrefs later (GH-136189)
Fix a bug caused by the garbage collector clearing weakrefs too early.  The
weakrefs in the ``tp_subclasses`` dictionary are needed in order to correctly
invalidate type caches (for example, by calling ``PyType_Modified()``).
Clearing weakrefs before calling finalizers causes the caches to not be
correctly invalidated.  That can cause crashes since the caches can refer to
invalid objects.  Defer the clearing of weakrefs without callbacks until after
finalizers are executed.
2025-08-07 16:32:17 -07:00
..
clinic
frozen_modules
_contextvars.c
_warnings.c
asdl.c
asm_trampoline.S gh-136459: Add perf trampoline support for macOS (#136461) 2025-07-22 16:47:24 +01:00
assemble.c
ast.c
ast_preprocess.c gh-137308: Replace a single docstring with pass in -OO mode (#137318) 2025-08-02 11:57:01 +00:00
ast_unparse.c gh-132661: Disallow Template/str concatenation after PEP 750 spec update (#135996) 2025-07-21 08:44:26 +02:00
bltinmodule.c gh-135443: Sometimes Fall Back to __main__.__dict__ For Globals (gh-135491) 2025-06-16 17:34:19 -06:00
bootstrap_hash.c
brc.c
bytecodes.c GH-136410: Faster side exits by using a cold exit stub (GH-136411) 2025-08-01 16:26:07 +01:00
ceval.c GH-136410: Faster side exits by using a cold exit stub (GH-136411) 2025-08-01 16:26:07 +01:00
ceval_gil.c gh-137514: Add a free-threading wrapper for mutexes (GH-137515) 2025-08-07 11:24:50 -04:00
ceval_macros.h GH-136410: Faster side exits by using a cold exit stub (GH-136411) 2025-08-01 16:26:07 +01:00
codecs.c gh-137514: Add a free-threading wrapper for mutexes (GH-137515) 2025-08-07 11:24:50 -04:00
codegen.c gh-132661: Disallow Template/str concatenation after PEP 750 spec update (#135996) 2025-07-21 08:44:26 +02:00
compile.c
condvar.h
config_common.h
context.c
critical_section.c gh-133296: Publicly expose critical section API that accepts PyMutex (gh-135899) 2025-07-21 17:25:43 -04:00
crossinterp.c gh-135855: Raise TypeError When Passing Non-dict Object to _interpreters.set___main___attrs (gh-135856) 2025-06-24 12:53:14 -06:00
crossinterp_data_lookup.h gh-135443: Sometimes Fall Back to __main__.__dict__ For Globals (gh-135491) 2025-06-16 17:34:19 -06:00
crossinterp_exceptions.h gh-132775: Clean Up Cross-Interpreter Error Handling (gh-135369) 2025-06-13 16:45:21 -06:00
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 gh-124621: Emscripten: Fix __syscall_ioctl patch (GH-136993) 2025-07-22 15:05:26 +02:00
emscripten_trampoline.c gh-128627: Emscripten: Add missing semicolon in ios detection code (#135590) 2025-06-16 23:17:17 +00:00
errors.c gh-134170: Add colorization to unraisable exceptions (#134183) 2025-08-04 14:35:00 +00:00
executor_cases.c.h GH-136410: Faster side exits by using a cold exit stub (GH-136411) 2025-08-01 16:26:07 +01:00
fileutils.c
flowgraph.c gh-137288: Fix bug where boolean expressions are not associated with the correct exception handler (#137310) 2025-08-05 19:25:57 +01:00
formatter_unicode.c
frame.c
frozen.c
frozenmain.c Use PyConfig_Get() in frozenmain.c (#137421) 2025-08-06 14:33:28 +02:00
future.c
gc.c GH-135552: Make the GC clear weakrefs later (GH-136189) 2025-08-07 16:32:17 -07:00
gc_free_threading.c GH-135552: Make the GC clear weakrefs later (GH-136189) 2025-08-07 16:32:17 -07:00
gc_gil.c
generated_cases.c.h GH-136410: Faster side exits by using a cold exit stub (GH-136411) 2025-08-01 16:26:07 +01:00
getargs.c Revert "gh-112068: C API: Add support of nullable arguments in PyArg_Parse (GH-121303)" (#136991) 2025-07-22 16:39:50 +03:00
getcompiler.c
getcopyright.c
getopt.c
getplatform.c
getversion.c gh-119132: Remove "experimental" tag from the CPython free-threading. (gh-135550) 2025-06-16 23:32:52 +09:00
hamt.c gh-137440: Update comment in Python/hamt.c on importing for testing (GH-137441) 2025-08-07 09:50:49 -04:00
hashtable.c
import.c gh-135443: Sometimes Fall Back to __main__.__dict__ For Globals (gh-135491) 2025-06-16 17:34:19 -06:00
importdl.c
index_pool.c
initconfig.c GH-133711: Enable UTF-8 mode by default (PEP 686) (#133712) 2025-07-15 10:45:41 +01:00
instruction_sequence.c
instrumentation.c gh-136870: fix data races in instrumentation of bytecode (#136994) 2025-07-24 17:58:46 +00:00
interpconfig.c
intrinsics.c
jit.c GH-136410: Faster side exits by using a cold exit stub (GH-136411) 2025-08-01 16:26:07 +01:00
legacy_tracing.c gh-137514: Add a free-threading wrapper for mutexes (GH-137515) 2025-08-07 11:24:50 -04:00
lock.c gh-134009: Expose PyMutex_IsLocked in the public C API (gh-134365) 2025-07-01 13:26:13 -04:00
marshal.c gh-136053: Check error for TYPE_SLICE in marshal.c (GH-136054) 2025-06-29 10:07:24 +03:00
modsupport.c
mysnprintf.c
mystrtoul.c
object_stack.c
opcode_targets.h
optimizer.c GH-136410: Faster side exits by using a cold exit stub (GH-136411) 2025-08-01 16:26:07 +01:00
optimizer_analysis.c GH-132732: Use pure op machinery to optimize COMPARE_OP_INT/FLOAT/STR (#137062) 2025-07-25 19:02:04 -07:00
optimizer_bytecodes.c GH-132732: Use pure op machinery to optimize COMPARE_OP_INT/FLOAT/STR (#137062) 2025-07-25 19:02:04 -07:00
optimizer_cases.c.h GH-136410: Faster side exits by using a cold exit stub (GH-136411) 2025-08-01 16:26:07 +01:00
optimizer_symbols.c gh-132732: Fix up pure types in JIT (GH-136050) 2025-06-28 18:30:30 +08:00
parking_lot.c gh-135099: Only wait on _PyOS_SigintEvent() in main thread (GH-135100) 2025-06-04 09:35:56 +02:00
pathconfig.c
perf_jit_trampoline.c gh-136459: Use platform-specific type in perf_jit_trampoline (GH-137031) 2025-07-23 10:20:42 +02:00
perf_trampoline.c gh-137291: Support perf profiler with an evaluation hook (#137292) 2025-08-07 14:54:12 -07:00
preconfig.c GH-133711: Enable UTF-8 mode by default (PEP 686) (#133712) 2025-07-15 10:45:41 +01:00
pyarena.c
pyctype.c
pyfpe.c
pyhash.c
pylifecycle.c gh-136421: Load _datetime static types during interpreter initialization (GH-136583) 2025-07-21 13:47:26 -04:00
pymath.c
pystate.c gh-137514: Add a free-threading wrapper for mutexes (GH-137515) 2025-08-07 11:24:50 -04:00
pystrcmp.c
pystrhex.c
pystrtod.c
Python-ast.c
Python-tokenize.c
pythonrun.c
pytime.c
qsbr.c GH-133136: Revise QSBR to reduce excess memory held (gh-135473) 2025-06-25 00:06:32 -07:00
README
remote_debug.h gh-135953: Implement sampling tool under profile.sample (#135998) 2025-07-10 18:44:24 +01:00
remote_debugging.c gh-134876: Add fallback for when process_vm_readv fails with ENOSYS (#134878) 2025-06-07 19:32:06 +01:00
specialize.c gh-137238: Fix data race in _Py_slot_tp_getattr_hook (gh-137240) 2025-08-05 09:32:22 -04:00
stackrefs.c GH-132554: Fix tier2 FOR_ITER implementation and optimizations (GH-135137) 2025-06-05 18:53:57 +01:00
stdlib_module_names.h gh-105456: Remove 3 deprecated sre_* modules (#135994) 2025-07-01 17:31:07 +02:00
structmember.c
suggestions.c
symtable.c gh-121914: Change the names of the symbol tables for lambda and genexpr (GH-135288) 2025-07-13 21:09:42 +03:00
sysmodule.c gh-135645: Added supports_isolated_interpreters to sys.implementation (#135667) 2025-06-21 10:56:14 +03:00
thread.c gh-134745: Change PyThread_allocate_lock() implementation to PyMutex (#134747) 2025-05-30 10:15:47 +00:00
thread_nt.h gh-134745: Change PyThread_allocate_lock() implementation to PyMutex (#134747) 2025-05-30 10:15:47 +00:00
thread_pthread.h gh-134745: Change PyThread_allocate_lock() implementation to PyMutex (#134747) 2025-05-30 10:15:47 +00:00
thread_pthread_stubs.h
tier2_engine.md
traceback.c gh-137185: Fix _Py_DumpStack() async signal safety (gh-137187) 2025-07-29 14:25:32 +00:00
tracemalloc.c
uniqueid.c
vm-state.md

Miscellaneous source files for the main Python shared library