Eric Snow
811edcf9cd
Revert "gh-132775: Add _PyCode_GetVarCounts() (gh-133128)" (gh-133232)
...
The change broke the s390 builds, so I'm reverting it while I investigate.
This reverts commit 94b4fcd806
.
2025-05-01 02:35:20 +00:00
Mae Hood
0119791326
dict: Remove redundant incref of immortal object Py_EMPTY_KEYS (GH-133200)
2025-05-01 08:39:26 +09:00
Eric Snow
94b4fcd806
gh-132775: Add _PyCode_GetVarCounts() (gh-133128)
...
This helper is useful in a variety of ways, including in demonstrating how the different counts relate to one another.
It will be used in a later change to help identify if a function is "stateless", meaning it doesn't have any free vars or globals.
Note that a majority of this change is tests.
2025-04-30 18:19:20 +00:00
Mark Shannon
44e4c479fb
GH-124715: Move trashcan mechanism into `Py_Dealloc` (GH-132280)
2025-04-30 11:37:53 +01:00
Lysandros Nikolaou
60202609a2
gh-132661: Implement PEP 750 ( #132662 )
...
Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Wingy <git@wingysam.xyz>
Co-authored-by: Koudai Aono <koxudaxi@gmail.com>
Co-authored-by: Dave Peck <davepeck@gmail.com>
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Co-authored-by: Paul Everitt <pauleveritt@me.com>
Co-authored-by: sobolevn <mail@sobolevn.me>
2025-04-30 11:46:41 +02:00
Shantanu
7e8b153fef
gh-116436: Improve error message when TypeError occurs during dict update ( #116443 )
2025-04-29 22:18:06 -07:00
Mark Shannon
ccf1b0b1c1
GH-132508: Use tagged integers on the evaluation stack for the last instruction offset (GH-132545)
2025-04-29 18:00:35 +01:00
Victor Stinner
02cd6d7097
gh-130317: Fix strict aliasing in PyFloat_Pack8() ( #133150 )
...
* Fix strict aliasing in PyFloat_Pack8() and PyFloat_Pack4().
* Fix _testcapi.float_set_snan() on x86 (32-bit).
2025-04-29 14:27:50 +00:00
Neil Schemenauer
eecafc3380
Revert gh-127266: avoid data races when updating type slots (gh-131174) (gh-133129)
...
This is triggering deadlocks in test_opcache. See GH-133130 for stack trace.
2025-04-28 23:38:29 -07:00
Eric Snow
96a7fb93a8
gh-132775: Add _PyCode_ReturnsOnlyNone() (gh-132981)
...
The function indicates whether or not the function has a return statement.
This is used by a later change related treating some functions like scripts.
2025-04-28 20:12:52 -06:00
Donghee Na
75cbb8d89e
gh-132070: Use _PyObject_IsUniquelyReferenced in unicodeobject (gh-133039)
...
---------
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2025-04-29 09:48:53 +09:00
Neil Schemenauer
e414a2d81c
gh-127266: avoid data races when updating type slots (gh-131174)
...
In the free-threaded build, avoid data races caused by updating type slots
or type flags after the type was initially created. For those (typically
rare) cases, use the stop-the-world mechanism. Remove the use of atomics
when reading or writing type flags. The use of atomics is not sufficient to
avoid races (since flags are sometimes read without a lock and without
atomics) and are no longer required.
2025-04-28 20:28:44 +00:00
Neil Schemenauer
31d1342de9
gh-132942: Fix races in type lookup cache (gh-133032)
...
Two races related to the type lookup cache, when used in the
free-threaded build. This caused test_opcache to sometimes fail (as
well as other hard to re-produce failures).
2025-04-28 11:52:08 -07:00
Eric Snow
c17238251f
gh-132775: Add _PyModule_GetFilenameObject() and _PyModule_GetFilenameUTF8() (gh-132979)
...
They are derived from the existing `PyModule_GetFilenameObject().
They are used by a later change related to pickle and handling __main__.
2025-04-28 12:41:32 -06:00
Bénédikt Tran
a99bfaa53c
gh-133073: avoid `NULL + 0` arithmetic in `list_extend_*` functions ( #133074 )
2025-04-28 15:59:09 +02:00
Sergey B Kirpichev
6157135a8d
gh-130317: Fix PyFloat_Pack/Unpack[24] for NaN's with payload ( #130452 )
...
Co-authored-by: Victor Stinner <vstinner@python.org>
2025-04-28 15:23:26 +02:00
Jelle Zijlstra
922049b613
gh-130907: Treat all module-level annotations as conditional ( #131550 )
2025-04-28 06:10:28 -07:00
Serhiy Storchaka
6677c2c165
gh-132987: Support __index__() for unsigned integers in Argument Clinic (GH-133011)
2025-04-28 11:02:18 +03:00
Eric Snow
2a28b21a51
gh-132776: Revert Moving memoryview XIData Code to memoryobject.c (gh-132960)
...
This is a partial revert of gh-132821. It resolves the refleak introduced by that PR.
2025-04-25 16:43:50 +00:00
Stan Ulbrych
f6fb498c97
gh-132798: Schedule removal of `PyUnicode_AsDecoded/Encoded` functions for 3.15 ( #132799 )
...
Co-authored-by: Victor Stinner <vstinner@python.org>
2025-04-25 15:07:41 +02:00
Eric Snow
e54e828852
gh-132776: Cleanup for XIBufferViewType (gh-132821)
...
* add notes
* rename XIBufferViewObject to xibufferview
* move memoryview XIData code to memoryobject.c
2025-04-24 18:25:29 -06:00
Victor Stinner
926ff69f3f
gh-132825: Fix typo in dict_unhashable_type() name ( #132847 )
2025-04-23 18:54:13 +02:00
Victor Stinner
426449d983
gh-132825: Enhance unhashable error messages for dict and set ( #132828 )
2025-04-23 17:10:09 +02:00
Victor Stinner
dc3e9638c2
gh-132713: Fix typing.Union[index] race condition ( #132802 )
...
Add union_init_parameters() helper function. Use a critical section
to initialize the 'parameters' member.
2025-04-23 15:45:42 +02:00
Victor Stinner
de9deb7ca7
gh-132713: Simplify list_repr_impl() ( #132811 )
2025-04-23 08:59:30 +02:00
Victor Stinner
a4ea80d523
gh-132713: Fix repr(list) race condition ( #132801 )
...
Hold a strong reference to the item while calling repr(item).
2025-04-22 22:09:35 +02:00
Pablo Galindo Salgado
bf3a0a1c0f
gh-132449: Improve syntax error messages for keywords with typos ( #132450 )
...
Signed-off-by: Pablo Galindo <pablogsal@gmail.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2025-04-22 11:01:55 +02:00
Peter Bierma
fa70bf8593
gh-132747: Fix `NULL` dereference when calling a method's `__get__` manually ( #132772 )
2025-04-21 14:09:34 -07:00
Sam Gross
da53660f35
gh-131586: Avoid refcount contention in context managers (gh-131851)
...
This avoid reference count contention in the free threading build
when calling special methods like `__enter__` and `__exit__`.
2025-04-21 15:54:25 -04:00
Sergey B Kirpichev
95800fe6e7
Correct _PyLong_Frexp() description in comments (GH-132716)
...
This amends d08c788822
, now this function always successful.
2025-04-19 07:42:20 +00:00
Kumar Aditya
4c3d187d9f
gh-126366: fix thread safety of dict key iterator ( #132693 )
2025-04-18 21:43:49 +05:30
Pieter Eendebak
e77d6784e7
gh-132657: Avoid locking in frozenset.__contains__ ( #132659 )
2025-04-18 20:20:29 +05:30
Bénédikt Tran
379352620c
gh-132097: use a macro for semantically casting function pointers ( #132406 )
2025-04-18 12:24:34 +02:00
Chris Eibl
80295a8f9b
GH-131296: fix clang-cl warning on Windows in `Objects/longobject.c` for 32bit builds ( #131604 )
2025-04-18 10:45:30 +02:00
Jon Crall
fc0ec29889
gh-103997: Automatically dedent the argument to "-c" ( #103998 )
...
Co-authored-by: sunmy2019 <59365878+sunmy2019@users.noreply.github.com>
Co-authored-by: Kirill Podoprigora <80244920+Eclips4@users.noreply.github.com>
Co-authored-by: Inada Naoki <songofacandy@gmail.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2025-04-18 17:39:30 +09:00
Tomasz Pytel
a23ed8b379
gh-132284: Don't wrap base PyCFunction slots on class creation if not overridden ( #132329 )
2025-04-17 18:08:59 +01:00
Sergey Miryanov
e42bda9441
gh-132042: Do not lookup tp_dict each time to speedup class creation ( #132619 )
2025-04-17 12:04:42 +02:00
Serhiy Storchaka
62ff86fa55
gh-130104: Call __rpow__ in ternary pow() if necessary (GH-130251)
...
Previously it was only called in binary pow() and the binary
power operator.
2025-04-16 18:32:41 +03:00
sobolevn
b6c552f9e6
gh-132176: Fix crash on `type()` when `tuple` subclass passed as `bases` ( #132212 )
...
Co-authored-by: Victor Stinner <vstinner@python.org>
2025-04-15 14:13:51 +03:00
Bénédikt Tran
a81232c769
gh-132399: fix invalid function signatures on the free-threaded build ( #132400 )
2025-04-12 07:46:33 +00:00
Jelle Zijlstra
07b8d3117f
gh-132261: Store annotations at hidden internal keys in the class dict ( #132345 )
2025-04-10 21:13:26 -07:00
sobolevn
254110356d
gh-132285: Fix that `__annotate__` is not deleted when `__annotations__` is deleted ( #132286 )
2025-04-09 10:36:08 -07:00
Ken Jin
bd3aa0b9f7
gh-126703: Fix possible use after free in pycfunction freelist (GH-132319)
2025-04-09 22:49:33 +08:00
Kumar Aditya
ed99e28d5b
gh-132213: use relaxed atomics for set hash ( #132215 )
2025-04-07 21:59:24 +05:30
Jelle Zijlstra
9a6b702f3a
dictobject.c: Fix incorrect function name in errors ( #132193 )
2025-04-07 07:48:55 -07:00
Pieter Eendebak
dff8bcfa3c
gh-126703: Add freelist for range and range_iter objects (GH-128619)
2025-04-07 04:40:52 +08:00
Pieter Eendebak
29772b0647
gh-126703: Add PyCFunction freelist (GH-128692)
2025-04-05 23:51:05 +08:00
Kumar Aditya
76f6b5e64a
gh-132013: use relaxed atomics in hash of frozenset ( #132014 )
...
Use relaxed atomics in hash of `frozenset` to fix TSAN warning.
2025-04-02 20:01:05 +05:30
mpage
053c285f6b
gh-130704: Strength reduce `LOAD_FAST{_LOAD_FAST}` ( #130708 )
...
Optimize `LOAD_FAST` opcodes into faster versions that load borrowed references onto the operand stack when we can prove that the lifetime of the local outlives the lifetime of the temporary that is loaded onto the stack.
2025-04-01 10:18:42 -07:00
Bénédikt Tran
edbf7fb129
gh-111178: remove redundant casts for functions with correct signatures ( #131673 )
2025-04-01 17:18:11 +02:00