cpython/Python
Miss Islington (bot) 19cbcc0f85
[3.14] gh-142183: Cache one datachunk per tstate to prevent alloc/dealloc thrashing (GH-145789) (#145828)
Cache one datachunk per tstate to prevent alloc/dealloc thrashing when repeatedly hitting the same call depth at exactly the wrong boundary.

Move new _ts member to the end to not mess up remote debuggers' ideas of the
struct's layout. (The struct is only created by the runtime, and the new
field only used by the runtime, so it should be safe.)

(cherry picked from commit 706fd4ec08)
Co-authored-by: T. Wouters <thomas@python.org>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
2026-03-18 16:47:36 +01: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-144012: Check null binary op extend (GH-144014) (GH-144038) 2026-01-20 18:05:56 +00:00
ceval.c [3.14] gh-144981: Make PyUnstable_Code_SetExtra/GetExtra thread-safe (GH-144980) (#145052) 2026-03-05 08:26:09 -05: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-145187: Fix crash on invalid type parameter bound expression in conditional block (GH-145188) (#145196) 2026-02-24 21:13:08 +00:00
compile.c [3.14] Fix dunder name typo in compiler code comment (GH-143374) (#143386) 2026-01-10 12:21:09 +05:30
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-142873: Do not check for PyContextVar_CheckExact twice in PyContextVar_Set (GH-142874) (#142893) 2025-12-17 18:28:37 +00:00
critical_section.c [3.14] gh-144513: Skip critical section locking during stop-the-world (gh-144524) (#145570) 2026-03-06 12:00:17 -05:00
crossinterp.c [3.14] gh-145376: Fix various reference leaks (GH-145377) (GH-145712) 2026-03-10 16:31:02 +01: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-145037: Fix Emscripten trampoline with emcc >= 4.0.19 (GH-145038) (#145283) 2026-02-27 08:55:59 +08: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-143547: Fix PyErr_FormatUnraisable() fallback (#143557) (#143603) 2026-01-09 16:10:50 +01:00
executor_cases.c.h [3.14] gh-144012: Check null binary op extend (GH-144014) (GH-144038) 2026-01-20 18:05:56 +00: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 [3.14] gh-144446: Fix some frame object thread-safety issues (gh-144479) (#144546) 2026-02-06 15:25:36 +00: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] GH-91636: Clear weakrefs created by finalizers. (GH-136401) (#144444) 2026-03-12 14:10:29 +02:00
gc_free_threading.c [3.14] GH-91636: Clear weakrefs created by finalizers. (GH-136401) (#144444) 2026-03-12 14:10:29 +02: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-144012: Check null binary op extend (GH-144014) (GH-144038) 2026-01-20 18:05:56 +00: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-142829: Fix use-after-free in Context.__eq__ via re-entrant ContextVar.set (GH-142905) (#143627) 2026-01-10 12:21:37 +05:30
hashtable.c gh-111545: Add Py_HashPointer() function (#112096) 2023-12-06 15:09:22 +01:00
import.c [3.14] gh-144601: Avoid sharing exception objects raised in a PyInit function across multiple interpreters (GH-144602) (GH-144633) 2026-02-16 10:37:46 -05: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-145990: sort --help-env sections by environment variable name (GH-146001) 2026-03-15 22:55:08 +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-106287: Do not write objects after an unmarshalling error (GH-132715) (GH-143832) 2026-01-14 11:52:20 +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-144194: Fix mmap failure check in perf_jit_trampoline.c (GH-143713) (#144301) 2026-01-28 13:57:19 +00:00
perf_trampoline.c [3.14] gh-144766: Fix a crash in fork child process when perf support is enabled. (GH-144795) (#144816) 2026-02-14 12:09:00 +00:00
preconfig.c [3.14] gh-145092: Fix compiler warning for memchr() and wcschr() returning const pointer (GH-145093) (GH-145102) 2026-02-22 08:28:17 +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-144307: Fix a reference leak during module teardown (GH-144308) (GH-144327) 2026-01-29 19:19:14 +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-142183: Cache one datachunk per tstate to prevent alloc/dealloc thrashing (GH-145789) (#145828) 2026-03-18 16:47:36 +01: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-144169: Fix three crashes in AST objects with non-str kwargs (GH-144178) (#144227) 2026-01-26 12:14:39 +00: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-145376: Fix various reference leaks (GH-145377) (GH-145712) 2026-03-10 16:31:02 +01: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-144316: Fix missing exception in _remote_debugging with debug=False (GH-144442) (#145280) 2026-02-26 22:39:48 +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 [3.14] gh-145701: Fix __classdict__ & __conditional_annotations__ in class-scope inlined comprehensions (GH-145702) (#145710) 2026-03-09 20:26:52 +00:00
sysmodule.c [3.14] gh-145376: Fix various reference leaks (GH-145377) (GH-145712) 2026-03-10 16:31:02 +01: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-145792: Fix incorrect alloca allocation size in traceback.c (GH-145814) (#145909) 2026-03-13 12:45:18 +00:00
tracemalloc.c [3.14] gh-144763: Fix race conditions in tracemalloc (#144779) (#144965) 2026-02-18 20:55:38 +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