cpython/Objects
Miss Islington (bot) 0a77058b79
[3.13] gh-120858: PyDict_Next should not lock the dict (GH-120859) (#120964)
PyDict_Next no longer locks the dictionary in the free-threaded build. Locking
around individual PyDict_Next calls is not sufficient because the function
returns borrowed references and because it allows concurrent modifications
during the iteraiton loop.

The internal locking also interferes with correct external synchronization
because it may suspend outer critical sections created by the caller.
(cherry picked from commit 375b723d58)

Co-authored-by: Sam Gross <colesbury@gmail.com>
2024-06-24 18:41:19 +00:00
..
clinic [3.13] gh-109218: Improve documentation for the complex() constructor (GH-119687) (GH-119803) 2024-05-30 20:44:20 +00:00
mimalloc gh-117755: Fix mimalloc for huge allocation on s390x (#117809) 2024-04-16 20:34:12 +00:00
stringlib gh-117431: Adapt bytes and bytearray .find() and friends to Argument Clinic (#117502) 2024-04-12 07:40:55 +00:00
README
abstract.c gh-116316: Fix typo in `UNARY_FUNC(PyNumber_Positive)` macros (GH-116317) 2024-03-04 17:57:01 +00:00
boolobject.c gh-111999: Add signatures and improve docstrings for builtins (GH-112000) 2023-11-13 09:13:49 +02:00
bytearrayobject.c gh-117431: Adapt bytes and bytearray .find() and friends to Argument Clinic (#117502) 2024-04-12 07:40:55 +00:00
bytes_methods.c gh-117431: Adapt bytes and bytearray .find() and friends to Argument Clinic (#117502) 2024-04-12 07:40:55 +00:00
bytesobject.c gh-117431: Adapt bytes and bytearray .find() and friends to Argument Clinic (#117502) 2024-04-12 07:40:55 +00:00
call.c gh-106320: Remove _PyFunction_Vectorcall() API (#107071) 2023-07-22 21:44:33 +00:00
capsule.c gh-108240: Add pycore_capsule.h internal header file (#108596) 2023-08-29 01:20:02 +00:00
cellobject.c gh-117323: Make `cell` thread-safe in free-threaded builds (#117330) 2024-03-29 13:35:43 -04:00
classobject.c gh-118362: Fix thread safety around lookups from the type cache in the face of concurrent mutators (#118454) 2024-05-06 10:50:35 -07:00
codeobject.c [3.13] gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) (GH-120945) 2024-06-24 20:24:19 +02:00
complexobject.c [3.13] gh-109218: Improve documentation for the complex() constructor (GH-119687) (GH-119803) 2024-05-30 20:44:20 +00:00
descrobject.c [3.13] bpo-24766: doc= argument to subclasses of property not handled correctly (GH-2487) (GH-120305) 2024-06-11 12:52:27 +03: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.13] gh-120858: PyDict_Next should not lock the dict (GH-120859) (#120964) 2024-06-24 18:41:19 +00:00
enumobject.c gh-106320: Create pycore_modsupport.h header file (#106355) 2023-07-03 09:39:11 +00:00
exception_handling_notes.txt GH-105848: Simplify the arrangement of CALL's stack (GH-107788) 2023-08-09 18:19:39 +00:00
exceptions.c [3.13] gh-119521: Rename IncompleteInputError to _IncompleteInputError and remove from public API/ABI (GH-119680, GH-120955) (GH-120944) 2024-06-24 20:23:30 +02:00
fileobject.c gh-87193: Support bytes objects with refcount > 1 in _PyBytes_Resize() (GH-117160) 2024-03-25 16:32:11 +01:00
floatobject.c gh-116714: Handle errors correctly in `PyFloat_GetInfo` (#116715) 2024-03-13 12:38:03 +00:00
frame_layout.md gh-109094: replace frame->prev_instr by frame->instr_ptr (#109095) 2023-10-26 13:43:10 +00:00
frameobject.c [3.13] gh-74929: PEP 667 C API documentation (gh-119892) 2024-06-01 04:23:04 +00:00
funcobject.c gh-117657: Disable the function/code cache in free-threaded builds (#118301) 2024-05-03 16:21:04 -04:00
genericaliasobject.c gh-117764: Fix and add signatures for many builtins (GH-117769) 2024-04-12 13:56:41 +03:00
genobject.c gh-110209: Add __class_getitem__ for generator and coroutine (#110212) 2024-05-06 18:41:32 -07:00
iterobject.c gh-106320: Remove private _PyEval function (#108433) 2023-08-24 20:25:22 +02:00
listobject.c [3.13] gh-119344: Make critical section API public (GH-119353) (#120856) 2024-06-21 20:20:41 +00:00
listsort.txt GH-116939: Rewrite binarysort() (#116940) 2024-03-21 22:27:25 -05:00
lnotab_notes.txt Document the `co_lines` method on code objects (#113682) 2024-01-03 19:29:24 +00:00
locations.md GH-88116: Use a compact format to represent end line and column offsets. (GH-91666) 2022-04-21 16:10:37 +01:00
longobject.c fix formatting of literal in docstring of int.from_bytes and int.to_bytes (#117847) 2024-04-18 09:01:58 +00:00
memoryobject.c [3.13] gh-120155: Fix copy/paste error in HAVE_SUBOFFSETS_IN_LAST_DIM() (GH-120228) (#120238) 2024-06-07 16:23:34 +00:00
methodobject.c gh-113024: C API: Add PyObject_GenericHash() function (GH-113025) 2024-03-22 20:19:10 +02:00
moduleobject.c gh-116322: Rename PyModule_ExperimentalSetGIL to PyUnstable_Module_SetGIL (GH-118645) 2024-05-06 18:59:36 +02:00
namespaceobject.c gh-108191: Add support of positional argument in SimpleNamespace constructor (GH-108195) 2024-04-25 00:39:54 +03:00
object.c [3.13] gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) (GH-120945) 2024-06-24 20:24:19 +02:00
object_layout.md 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.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 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.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 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_312.gv GH-96068: Document object layout (GH-96069) 2022-08-23 13:55:43 +01:00
object_layout_full_312.png GH-96068: Document object layout (GH-96069) 2022-08-23 13:55:43 +01: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 GH-115776: Embed the values array into the object, for "normal" Python objects. (GH-116115) 2024-04-02 11:59:21 +01:00
obmalloc.c gh-112075: Support freeing object memory via QSBR (#116344) 2024-03-08 09:56:36 -08:00
odictobject.c gh-112075: Make _PyDict_LoadGlobal thread safe (#117529) 2024-04-04 12:26:07 -07:00
picklebufobject.c gh-104922: remove PY_SSIZE_T_CLEAN (#106315) 2023-07-02 15:07:46 +09:00
rangeobject.c gh-117764: Fix and add signatures for many builtins (GH-117769) 2024-04-12 13:56:41 +03:00
setobject.c gh-118527: Intern code consts in free-threaded build (#118667) 2024-05-06 20:12:39 -04:00
sliceobject.c gh-117764: Add docstrings and signatures for the types of None, Ellipsis and NotImplemented (GH-117813) 2024-04-12 15:45:23 +03:00
structseq.c [3.13] gh-117398: Use Per-Interpreter State for the _datetime Static Types (gh-120009) 2024-06-03 23:37:28 +00:00
tupleobject.c gh-117439: Make refleak checking thread-safe without the GIL (#117469) 2024-04-08 12:11:36 -04:00
typeobject.c [3.13] gh-120860: Fix a few bugs in `type_setattro` error paths. (GH-120861) (#120963) 2024-06-24 18:33:39 +00:00
typeslots.inc bpo-41073: PyType_GetSlot() can now accept static types. (GH-21931) 2020-11-10 12:53:46 -08:00
typeslots.py bpo-41073: PyType_GetSlot() can now accept static types. (GH-21931) 2020-11-10 12:53:46 -08:00
typevarobject.c [3.13] Rename `notimplemented_methods` into `nodefault_methods` (GH-118896) (#118898) 2024-05-10 13:08:31 +00:00
unicodectype.c bpo-46670: Remove unused macros in the Objects directory (GH-31193) 2022-02-07 16:21:41 +01:00
unicodeobject.c [3.13] gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) (GH-120945) 2024-06-24 20:24:19 +02:00
unicodetype_db.h gh-96954: Fix `make regen-unicodedata` in out-of-tree builds (#112118) 2023-11-15 16:42:17 +00:00
unionobject.c gh-108511: Add C API functions which do not silently ignore errors (GH-109025) 2023-09-17 14:23:31 +03:00
weakrefobject.c [3.13] gh-118789: Add `PyUnstable_Object_ClearWeakRefsNoCallbacks` (GH-118807) (#120695) 2024-06-18 14:54:51 +00:00

README

Source files for various builtin objects