cpython/Python
Sam Gross 587d480203
gh-112529: Remove PyGC_Head from object pre-header in free-threaded build (#114564)
* gh-112529: Remove PyGC_Head from object pre-header in free-threaded build

This avoids allocating space for PyGC_Head in the free-threaded build.
The GC implementation for free-threaded CPython does not use the
PyGC_Head structure.

 * The trashcan mechanism uses the `ob_tid` field instead of `_gc_prev`
   in the free-threaded build.
 * The GDB libpython.py file now determines the offset of the managed
   dict field based on whether the running process is a free-threaded
   build. Those are identified by the `ob_ref_local` field in PyObject.
 * Fixes `_PySys_GetSizeOf()` which incorrectly incorrectly included the
   size of `PyGC_Head` in the size of static `PyTypeObject`.
2024-02-01 12:29:19 -08:00
..
clinic gh-113626: Add allow_code parameter in marshal functions (GH-113648) 2024-01-16 18:05:15 +02:00
deepfreeze
frozen_modules
_warnings.c gh-111789: Use PyDict_GetItemRef() in Python/_warnings.c (gh-112080) 2023-11-27 18:58:43 +01:00
adaptive.md
asdl.c
asm_trampoline.S
assemble.c GH-111485: Generate instruction and uop metadata (GH-113287) 2023-12-20 14:27:25 +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
bltinmodule.c gh-90350: Optimize builtin functions min() and max() (GH-30286) 2023-12-11 21:27:06 +02:00
bootstrap_hash.c
bytecodes.c Update outdated comment in `Python/bytecodes.c` (#114522) 2024-01-24 09:14:15 -08:00
ceval.c GH-113464: Add a JIT backend for tier 2 (GH-113465) 2024-01-28 18:48:48 -08:00
ceval_gil.c gh-111964: Implement stop-the-world pauses (gh-112471) 2024-01-23 11:08:23 -07:00
ceval_macros.h Delete unused macro (GH-114238) 2024-01-18 15:49:50 +00: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-114569: Use PyMem_* APIs for non-PyObjects in compiler (#114587) 2024-01-30 00:04:34 +01:00
condvar.h
context.c gh-111968: Unify freelist naming schema to Eric's suggestion (gh-114581) 2024-01-27 00:25:16 +09:00
critical_section.c
crossinterp.c gh-76785: Avoid Pickled TracebackException for Propagated Subinterpreter Exceptions (gh-113036) 2023-12-13 00:31:30 +00:00
dtoa.c gh-111962: Make dtoa thread-safe in --disable-gil builds. (#112049) 2023-12-07 13:47:55 +00:00
dup2.c
dynamic_annotations.c
dynload_hpux.c
dynload_shlib.c
dynload_stub.c
dynload_win.c
emscripten_signal.c
emscripten_trampoline.c
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-113710: Add a tier 2 peephole optimization pass. (GH-114487) 2024-01-24 12:08:31 +00:00
fileutils.c gh-112970: Detect and use closefrom() when available (#112969) 2023-12-12 11:25:27 +01:00
flowgraph.c gh-114569: Use PyMem_* APIs for non-PyObjects in compiler (#114587) 2024-01-30 00:04:34 +01:00
formatter_unicode.c
frame.c Remove unused Py_XDECREF from _PyFrame_ClearExceptCode (GH-106158) 2024-02-01 18:26:22 +02:00
frozen.c gh-106560: Fix redundant declarations in Python/frozen.c (#112612) 2023-12-03 12:18:24 +01:00
frozenmain.c
future.c
gc.c gh-112529: Implement GC for free-threaded builds (#114262) 2024-01-25 10:27:36 -08:00
gc_free_threading.c gh-112529: Remove PyGC_Head from object pre-header in free-threaded build (#114564) 2024-02-01 12:29:19 -08:00
gc_gil.c gh-111968: Use per-thread freelists for generator in free-threading (gh-114189) 2024-01-18 18:15:00 +00:00
generated_cases.c.h GH-112354: END_FOR instruction to only pop one value. (GH-114247) 2024-01-24 15:10:17 +00:00
getargs.c gh-65210: Add const qualifiers in PyArg_VaParseTupleAndKeywords() (GH-105958) 2023-12-04 13:14:56 +02:00
getcompiler.c
getcopyright.c Update copyright years to 2024. (GH-113608) 2024-01-16 21:54:05 +01:00
getopt.c
getplatform.c
getversion.c
hamt.c
hashtable.c gh-111545: Add Py_HashPointer() function (#112096) 2023-12-06 15:09:22 +01:00
import.c gh-114685: Fix incorrect use of PyBUF_READ in import.c (GH-114686) 2024-01-29 11:37:06 +02:00
importdl.c
initconfig.c gh-73965: Move PYTHON_HISTORY into the correct usage section (#113798) 2024-01-08 11:58:58 +02:00
instrumentation.c GH-113486: Do not emit spurious PY_UNWIND events for optimized calls to classes. (GH-113680) 2024-01-05 09:45:22 +00:00
intrinsics.c
jit.c GH-113464: Add a JIT backend for tier 2 (GH-113465) 2024-01-28 18:48:48 -08:00
legacy_tracing.c
lock.c gh-111964: Add _PyRWMutex a "readers-writer" lock (gh-112859) 2023-12-15 18:56:55 -07:00
marshal.c gh-113626: Add allow_code parameter in marshal functions (GH-113648) 2024-01-16 18:05:15 +02:00
modsupport.c
mysnprintf.c
mystrtoul.c
object_stack.c gh-111968: Unify freelist naming schema to Eric's suggestion (gh-114581) 2024-01-27 00:25:16 +09:00
opcode_targets.h GH-111485: Generate TARGET table for computed goto dispatch. (GH-113319) 2023-12-20 15:09:12 +00:00
optimizer.c GH-113464: Add a JIT backend for tier 2 (GH-113465) 2024-01-28 18:48:48 -08:00
optimizer_analysis.c GH-113710: Add a tier 2 peephole optimization pass. (GH-114487) 2024-01-24 12:08:31 +00:00
parking_lot.c gh-112606: Use pthread_cond_timedwait_relative_np() in parking_lot.c when available (#112616) 2024-01-30 22:22:17 +01:00
pathconfig.c
perf_trampoline.c gh-113343: Fix error check on mmap(2) (#113342) 2023-12-21 19:28:55 +00:00
preconfig.c
pyarena.c
pyctype.c
pyfpe.c
pyhash.c gh-111545: Add Py_HashPointer() function (#112096) 2023-12-06 15:09:22 +01:00
pylifecycle.c GH-113464: Add a JIT backend for tier 2 (GH-113465) 2024-01-28 18:48:48 -08:00
pymath.c
pystate.c gh-103323: Remove current_fast_get() unused parameter (#114593) 2024-01-30 11:47:58 +01:00
pystrcmp.c
pystrhex.c
pystrtod.c
Python-ast.c GH-113655: Lower the C recursion limit on various platforms (GH-113944) 2024-01-16 09:32:01 +00: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
pytime.c gh-112567: Add _PyTimeFraction C API (#112568) 2023-12-01 19:50:10 +01:00
README
specialize.c GH-114806. Don't specialize calls to classes with metaclasses. (GH-114870) 2024-02-01 19:39:32 +00:00
stdlib_module_names.h gh-110721: Remove unused code from suggestions.c after moving PyErr_Display to use the traceback module (#113712) 2024-01-08 15:10:45 +00:00
structmember.c
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-113655: Lower the C recursion limit on various platforms (GH-113944) 2024-01-16 09:32:01 +00:00
sysmodule.c gh-112529: Remove PyGC_Head from object pre-header in free-threaded build (#114564) 2024-02-01 12:29:19 -08:00
thread.c
thread_nt.h
thread_pthread.h
thread_pthread_stubs.h
traceback.c GH-113655: Lower the C recursion limit on various platforms (GH-113944) 2024-01-16 09:32:01 +00:00
tracemalloc.c
vm-state.md

Miscellaneous source files for the main Python shared library