cpython/Objects
Sam Gross 2905690a91
gh-130851: Don't crash when deduping unusual code constants (#130853)
The bytecode compiler only generates a few different types of constants,
like str, int, tuple, slices, etc. Users can construct code objects with
various unusual constants, including ones that are not hashable or not
even constant.

The free threaded build previously crashed with a fatal error when
confronted with these constants. Instead, treat distinct objects of
otherwise unhandled types as not equal for the purposes of deduplication.
2025-03-05 15:04:49 +01:00
..
clinic gh-129107: make bytearray thread safe (#129108) 2025-02-15 07:19:42 +00:00
mimalloc gh-123826: Fix unused function warnings in mimalloc on NetBSD (#123827) 2024-09-09 13:22:28 -04:00
stringlib gh-87790: support thousands separators for formatting fractional part of floats (#125304) 2025-02-25 16:27:07 +01:00
abstract.c gh-128911: Add PyImport_ImportModuleAttr() function (#128912) 2025-01-30 11:17:29 +00:00
boolobject.c gh-122982: Extend the deprecation period for bool inversion by two years (#123306) 2024-08-25 12:24:44 -07:00
bytearrayobject.c gh-129107: fix thread safety of bytearray where two critical sections are needed (#130227) 2025-02-27 20:29:58 +05:30
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 gh-128016: Improved invalid escape sequence warning message (#128020) 2025-01-15 18:00:54 +01: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 gh-126703: Add freelist for PyMethodObject (#128594) 2025-01-12 18:31:49 +05:30
codeobject.c gh-130851: Don't crash when deduping unusual code constants (#130853) 2025-03-05 15:04:49 +01:00
complexobject.c gh-111178: fix UBSan failures in Objects/complexobject.c (GH-128241) 2025-01-10 10:46:36 +00:00
descrobject.c gh-128863: Deprecate private C API functions (#128864) 2025-01-22 11:04:19 +00: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 gh-130547: Fix race between dict_dealloc and split_keys_entry_added (gh-130778) 2025-03-04 22:50:33 +09:00
enumobject.c gh-111178: fix UBSan failures in Objects/enumobject.c (GH-128246) 2025-01-03 15:29:41 +01:00
exceptions.c gh-128974: Fix UnicodeError.__str__ when custom attributes have side-effects (#128975) 2025-03-01 12:01:20 +01:00
fileobject.c gh-128911: Add PyImport_ImportModuleAttr() function (#128912) 2025-01-30 11:17:29 +00:00
floatobject.c gh-111178: fix UBSan failures in Objects/floatobject.c (GH-129776) 2025-02-08 14:47:19 +01:00
frameobject.c gh-127271: Remove the PyCell_Get usage for framelocalsproxy (#130383) 2025-02-27 18:12:04 -05:00
funcobject.c gh-128714: Fix function object races in __annotate__, __annotations__ and __type_params__ in free-threading build (#129016) 2025-02-06 20:10:50 +05:30
genericaliasobject.c gh-124445: Allow specializing generic ParamSpec aliases (#124512) 2025-03-03 14:58:33 -08:00
genobject.c gh-129354: Use PyErr_FormatUnraisable() function (#129523) 2025-02-05 10:31:59 +00:00
iterobject.c gh-128078: Clear exception in anext before calling _PyGen_SetStopIterationValue (#128780) 2025-01-13 18:25:09 +05:30
listobject.c gh-115999: Make list and tuple iteration more thread-safe. (#128637) 2025-02-18 16:52:46 -08: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 gh-130599: use static constants str-to-int conversion (gh-130714) 2025-03-03 19:00:50 -08:00
memoryobject.c gh-128911: Add PyImport_ImportModuleAttr() function (#128912) 2025-01-30 11:17:29 +00:00
methodobject.c gh-128863: Deprecate private C API functions (#128864) 2025-01-22 11:04:19 +00:00
moduleobject.c gh-130163: Fix crashes related to PySys_GetObject() (GH-130503) 2025-02-25 23:04:27 +02:00
namespaceobject.c gh-111178: Fix function signatures in namespaceobject.c (#130590) 2025-02-26 21:35:56 +01:00
object.c GH-127705: better double free message. (GH-130785) 2025-03-05 14:00:42 +00: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 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-130794: Process interpreter QSBR queue in _PyMem_AbandonDelayed. (gh-130808) 2025-03-04 18:04:04 -05:00
odictobject.c gh-128863: Deprecate private C API functions (#128864) 2025-01-22 11:04:19 +00:00
picklebufobject.c gh-104922: remove PY_SSIZE_T_CLEAN (#106315) 2023-07-02 15:07:46 +09:00
rangeobject.c gh-111178: fix some USAN failures - mismatched function pointers (GH-123004) 2024-09-27 23:51:50 +02:00
README Issue #18093: Factor out the programs that embed the runtime 2014-07-25 21:52:14 +10:00
setobject.c gh-129967: Fix race condition in repr(set) (gh-129978) 2025-02-11 17:29:27 -05:00
sliceobject.c gh-111178: Fix function signatures in sliceobject.c (#130575) 2025-02-26 21:37:22 +01:00
structseq.c gh-111178: Fix function signatures in structseq.c (#130683) 2025-03-04 10:33:45 +01:00
tupleobject.c gh-115999: Make list and tuple iteration more thread-safe. (#128637) 2025-02-18 16:52:46 -08:00
typeobject.c gh-130790: Remove references about unicode's readiness from comments (#130801) 2025-03-03 19:18:09 +00:00
typeslots.inc gh-124153: Implement PyType_GetBaseByToken() and Py_tp_token slot (GH-124163) 2024-09-18 09:18:19 +02: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 gh-105499: Merge typing.Union and types.UnionType (#105511) 2025-03-04 11:44:19 -08:00
unicodectype.c gh-82045: Correct and deduplicate "isprintable" docs; add test. (GH-130118) 2025-02-14 18:16:47 +01:00
unicodeobject.c gh-111178: Fix function signatures of unicodeiter (#130684) 2025-03-04 10:33:09 +01:00
unicodetype_db.h closes gh-124016: update Unicode to 16.0.0 (#124017) 2024-09-13 07:47:04 -07:00
unionobject.c gh-105499: Merge typing.Union and types.UnionType (#105511) 2025-03-04 11:44:19 -08:00
weakrefobject.c gh-129354: Use PyErr_FormatUnraisable() function (#129511) 2025-01-31 13:16:08 +01:00

Source files for various builtin objects