cpython/Objects
Sam Gross b7c25eabd6
[3.14] gh-139103: fix free-threading dataclass.__init__ perf issue (gh-141596) (gh-141750)
The dataclasses `__init__` function is generated dynamically by a call to `exec()` and so doesn't have deferred reference counting enabled. Enable deferred reference counting on functions when assigned as an attribute to type objects to avoid reference count contention when creating dataclass instances.
(cherry picked from commit ce79154176)

Co-authored-by: Edward Xu <xuxiangad@gmail.com>
2025-11-19 15:00:51 +00:00
..
clinic [3.14] gh-129559: Remove extra dot in bytearray.resize AC (GH-140134) (#140143) 2025-10-15 14:06:18 +03:00
mimalloc gh-123826: Fix unused function warnings in mimalloc on NetBSD (#123827) 2024-09-09 13:22:28 -04:00
stringlib [3.14] gh-127971: fix off-by-one read beyond the end of a string during search (GH-132574) (#136628) 2025-07-13 13:58:03 +00:00
abstract.c gh-131238: Remove includes from pycore_interp.h (#131495) 2025-03-20 11:35:23 +00:00
boolobject.c gh-111178: remove redundant casts for functions with correct signatures (#131673) 2025-04-01 17:18:11 +02:00
bytearrayobject.c [3.14] gh-129559: Remove extra dot in bytearray.resize AC (GH-140134) (#140143) 2025-10-15 14:06:18 +03:00
bytes_methods.c gh-121165: protect macro expansion of ADJUST_INDICES with do-while(0) (#121166) 2024-07-02 16:27:51 +05:30
bytesobject.c [3.14] gh-140939: Fix memory leak in _PyBytes_FormatEx error path (GH-140957) (#141154) 2025-11-06 16:20:03 +00:00
call.c gh-106320: Remove _PyFunction_Vectorcall() API (#107071) 2023-07-22 21:44:33 +00:00
capsule.c gh-111178: fix UBSan failures in Objects/capsule.c (GH-128239) 2025-01-08 14:55:04 +01:00
cellobject.c gh-127271: Replace use of PyCell_GET/SET (gh-127272) 2024-12-03 10:33:06 -08:00
classobject.c [3.14] gh-135607: remove null checking of weakref list in dealloc of extension modules and objects (#135614) (#136119) 2025-06-30 15:59:22 +02:00
codeobject.c [3.14] gh-140815: Fix faulthandler for invalid/freed frame (GH-140921) (#140981) 2025-11-04 11:18:23 +00:00
complexobject.c gh-111178: Change Argument Clinic signature for @classmethod (#131157) 2025-03-12 17:42:07 +01:00
descrobject.c GH-124715: Move trashcan mechanism into Py_Dealloc (GH-132280) 2025-04-30 11:37:53 +01:00
dictnotes.txt bpo-46845: Reduce dict size when all keys are Unicode (GH-31564) 2022-03-02 08:09:28 +09:00
dictobject.c [3.14] gh-140551: Fix dict crash if clear is called at lookup stage (GH-140558) (#140743) 2025-10-30 22:33:35 +05:30
enumobject.c gh-131525: Cache the result of tuple_hash (#131529) 2025-03-27 09:57:06 -04:00
exceptions.c GH-124715: Move trashcan mechanism into Py_Dealloc (GH-132280) 2025-04-30 11:37:53 +01:00
fileobject.c gh-111178: fix UBSan failures for PyStdPrinter_Object (#131607) 2025-03-24 10:57:14 +01:00
floatobject.c [3.14] gh-141042: fix sNaN's packing for mixed floating-point formats (GH-141107) (#141459) 2025-11-12 10:33:34 +00:00
frameobject.c [3.14] gh-137200: support frame lineno setter with BRANCH_LEFT and BRANCH_RIGHT events (GH-137229) (#137280) 2025-08-11 17:07:19 +03:00
funcobject.c [3.14] gh-135607: remove null checking of weakref list in dealloc of extension modules and objects (#135614) (#136119) 2025-06-30 15:59:22 +02:00
genericaliasobject.c [3.14] gh-105487: Fix __dir__ entries of GenericAlias (GH-138578) (GH-138629) 2025-10-07 23:12:13 +02:00
genobject.c [3.14] gh-140431: Fix GC crash due to partially initialized coroutines (gh-140470) (gh-140504) 2025-10-23 14:44:21 +00:00
interpolationobject.c [3.14] gh-132661: Add default value (of "") for Interpolation.expression (GH-136441) (#136511) 2025-07-10 14:52:18 +00:00
iterobject.c gh-131666: mark anext_awaitable.close as a METH_NOARGS instead of METH_VARARGS (#131671) 2025-03-25 09:03:22 +05:30
listobject.c [3.14] GH-133136: Revise QSBR to reduce excess memory held (gh-135473) (#135912) 2025-07-08 10:58:01 -07:00
listsort.txt GH-116939: Rewrite binarysort() (#116940) 2024-03-21 22:27:25 -05:00
lnotab_notes.txt gh-119786: add code object doc, inline locations.md into it (#126832) 2024-11-22 19:27:41 +00:00
longobject.c [3.14] gh-140061: Use _PyObject_IsUniquelyReferenced() to check if objects are uniquely referenced (gh-140062) (gh-140157) 2025-10-15 14:49:17 +00:00
memoryobject.c gh-132776: Revert Moving memoryview XIData Code to memoryobject.c (gh-132960) 2025-04-25 16:43:50 +00:00
methodobject.c [3.14] gh-135607: remove null checking of weakref list in dealloc of extension modules and objects (#135614) (#136119) 2025-06-30 15:59:22 +02:00
moduleobject.c [3.14] gh-135607: remove null checking of weakref list in dealloc of extension modules and objects (#135614) (#136119) 2025-06-30 15:59:22 +02:00
namespaceobject.c [3.14] gh-135878: Fix crash in types.SimpleNamespace.__repr__ (GH-135889) (#135896) 2025-06-24 16:58:57 +00:00
object.c [3.14] GH-135106: Restrict trashcan to GC'ed objects (GH-135682) (#135876) 2025-07-07 12:31:18 +03:00
object_layout.md GH-115776: Allow any fixed sized object to have inline values (GH-123192) 2024-08-21 15:52:04 +01:00
object_layout_312.gv GH-115776: Embed the values array into the object, for "normal" Python objects. (GH-116115) 2024-04-02 11:59:21 +01:00
object_layout_312.png [3.14] gh-71648: Optimize PNG files (GH-138842) (GH-138851) 2025-10-07 20:52:12 +02:00
object_layout_313.gv GH-115776: Embed the values array into the object, for "normal" Python objects. (GH-116115) 2024-04-02 11:59:21 +01:00
object_layout_313.png [3.14] gh-71648: Optimize PNG files (GH-138842) (GH-138851) 2025-10-07 20:52:12 +02:00
object_layout_full_312.gv GH-96068: Document object layout (GH-96069) 2022-08-23 13:55:43 +01:00
object_layout_full_312.png [3.14] gh-71648: Optimize PNG files (GH-138842) (GH-138851) 2025-10-07 20:52:12 +02:00
object_layout_full_313.gv GH-115776: Embed the values array into the object, for "normal" Python objects. (GH-116115) 2024-04-02 11:59:21 +01:00
object_layout_full_313.png [3.14] gh-71648: Optimize PNG files (GH-138842) (GH-138851) 2025-10-07 20:52:12 +02:00
obmalloc.c [3.14] GH-133136: Revise QSBR to reduce excess memory held (gh-135473) (#135912) 2025-07-08 10:58:01 -07:00
odictobject.c [3.14] gh-125996: fix thread safety of collections.OrderedDict (GH-133734) (#140053) 2025-10-13 23:25:24 +05:30
picklebufobject.c [3.14] gh-135607: remove null checking of weakref list in dealloc of extension modules and objects (#135614) (#136119) 2025-06-30 15:59:22 +02:00
rangeobject.c [3.14] GH-141312: Allow only integers to longrangeiter_setstate state (GH-141317) (GH-141559) 2025-11-15 21:30:25 +02:00
README Issue #18093: Factor out the programs that embed the runtime 2014-07-25 21:52:14 +10:00
setobject.c [3.14] gh-140061: Use _PyObject_IsUniquelyReferenced() to check if objects are uniquely referenced (gh-140062) (gh-140157) 2025-10-15 14:49:17 +00:00
sliceobject.c gh-111178: Fix function signatures for multiple tests (#131496) 2025-03-20 12:27:03 +01:00
structseq.c gh-131525: Cache the result of tuple_hash (#131529) 2025-03-27 09:57:06 -04:00
templateobject.c [3.14] gh-132661: Disallow Template/str concatenation after PEP 750 spec update (#135996) (#136901) 2025-07-21 17:34:54 +02:00
tupleobject.c [3.14] GH-139951: Fix major GC performance regression. Backport of GH-140262 (GH-140447) 2025-10-23 15:26:58 +01:00
typeobject.c [3.14] gh-139103: fix free-threading dataclass.__init__ perf issue (gh-141596) (gh-141750) 2025-11-19 15:00:51 +00:00
typeslots.inc Revert "gh-133395: add option for extension modules to specialize BINARY_OP/SUBSCR, apply to arrays (#133396)" (#133498) 2025-05-06 13:12:26 +03:00
typeslots.py gh-124153: Implement PyType_GetBaseByToken() and Py_tp_token slot (GH-124163) 2024-09-18 09:18:19 +02:00
typevarobject.c [3.14] gh-140000: Traverse name attribute for TypeVar, TypeVarTuple, TypeAliasType, ParamSpec (GH-140016) (#140063) 2025-10-13 20:36:24 +00:00
unicodectype.c gh-82045: Correct and deduplicate "isprintable" docs; add test. (GH-130118) 2025-02-14 18:16:47 +01:00
unicodeobject.c [3.14] Remove dead stores to 'size' in UTF-8 decoder (unicodeobject.c) (GH-140637) (#140658) 2025-10-27 09:21:43 +00:00
unicodetype_db.h closes gh-124016: update Unicode to 16.0.0 (#124017) 2024-09-13 07:47:04 -07:00
unionobject.c [3.14] gh-140348: Fix using | on unusual objects plus Unions (GH-140383) (#140948) 2025-11-03 15:16:03 +00:00
weakrefobject.c gh-129354: Use PyErr_FormatUnraisable() function (#129511) 2025-01-31 13:16:08 +01:00

Source files for various builtin objects