summaryrefslogtreecommitdiffstats
path: root/Include
Commit message (Collapse)AuthorAgeFilesLines
* Python 3.13.3v3.13.3Thomas Wouters2025-04-081-2/+2
|
* [3.13] GH-127953: Make line number lookup O(1) regardless of the size of the ↵Mark Shannon2025-04-071-4/+5
| | | | | code object (#129127) GH-127953: Make line number lookup O(1) regardless of the size of the code object (GH-128350)
* [3.13] gh-131675: Fix `mi_atomic_yield` in mimalloc on 32-bit ARM ↵Miss Islington (bot)2025-03-311-7/+10
| | | | | | | | | | | | | (gh-131784) (gh-131954) Use the standard `__ARM_ARCH` macro, which is supported by GCC and Clang. The branching logic for of `__ARMEL__` has been removed so if the target architecture supports v7+ instructions, a yield is emitted, otherwise a nop is emitted. This covers both big and little endian scenarios. (cherry picked from commit 03f6c8e239723637811fd8d278661f5292351197) Signed-off-by: Vincent Fazio <vfazio@gmail.com> Co-authored-by: Vincent Fazio <vfazio@gmail.com>
* [3.13] gh-130940: Remove PyConfig.use_system_logger (#131129)Russell Keith-Magee2025-03-131-3/+0
| | | | | | | Removes ``PyConfig.use_system_logger``, resolving an ABI incompatibility introduced in 3.13.2. Changes the default behavior of iOS to *always* direct stdout/stderr to the system log.
* [3.13] gh-131082: Add missing guards for WIN32_LEAN_AND_MEAN (GH-131044) ↵Miss Islington (bot)2025-03-112-2/+6
| | | | | | | (#131084) (cherry picked from commit de8818ae233b8e7722aa5d6f91d4b5a04bd039df) Co-authored-by: Max Bachmann <kontakt@maxbachmann.de>
* [3.13] gh-129296: Fix `pyatomic.h` include paths (GH-129320) (#130667)Miss Islington (bot)2025-02-282-4/+4
| | | | | | | | | | | | gh-129296: Fix `pyatomic.h` include paths (GH-129320) Use relative includes in Include/cpython/pyatomic.h for pyatomic_gcc.h, pyatomic_std.h and pyatomic_msc.h. Do a similar change in Include/cpython/pythread.h for pthread_stubs.h include. (cherry picked from commit 3a974e39d54902699f360bc4db2fd351a6baf3ef) Co-authored-by: Zanie Blue <contact@zanie.dev>
* [3.13] gh-130163: Fix crashes related to PySys_GetObject() (GH-130503) ↵Serhiy Storchaka2025-02-251-2/+5
| | | | | | | | | | (GH-130556) The use of PySys_GetObject() and _PySys_GetAttr(), which return a borrowed reference, has been replaced by using one of the following functions, which return a strong reference and distinguish a missing attribute from an error: _PySys_GetOptionalAttr(), _PySys_GetOptionalAttrString(), _PySys_GetRequiredAttr(), and _PySys_GetRequiredAttrString(). (cherry picked from commit 0ef4ffeefd1737c18dc9326133c7894d58108c2e)
* [3.13] gh-130230: Fix crash in pow() with only Decimal third argument ↵Miss Islington (bot)2025-02-181-0/+1
| | | | | | | | (GH-130237) (GH-130246) (cherry picked from commit b93b7e566e5a4efe7f077af2083140e50bd2b08f) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* [3.13] gh-128759: Fix accesses to `tp_version_tag`. (GH-129750) (GH-130042)Sam Gross2025-02-121-1/+72
| | | | | | | | | | We should use a relaxed atomic load in the free threading build in `PyType_Modified()` because that's called without the type lock held. It's not necessary to use atomics in `type_modified_unlocked()`. We should also use `FT_ATOMIC_STORE_UINT_RELAXED()` instead of the `UINT32` variant because `tp_version_tag` is declared as `unsigned int`. (cherry picked from commit 57f45ee2d8ee23c2a1d1daba4095a5a044169419)
* [3.13] gh-129668: Fix thread-safety of MemoryError freelist in free threaded ↵Sam Gross2025-02-061-0/+3
| | | | | | | | | build (gh-129704) (gh-129742) The MemoryError freelist was not thread-safe in the free threaded build. Use a mutex to protect accesses to the freelist. Unlike other freelists, the MemoryError freelist is not performance sensitive. (cherry picked from commit 51b4edb1a4092f60d84f7d14eb41c12085e39c31)
* Post 3.13.2Thomas Wouters2025-02-041-1/+1
|
* Python 3.13.2v3.13.2Thomas Wouters2025-02-041-2/+2
|
* [3.13] gh-128679: Fix tracemalloc.stop() race conditions (#128897)Victor Stinner2025-01-181-1/+1
| | | | | | | | | | | | | tracemalloc_alloc(), tracemalloc_realloc(), PyTraceMalloc_Track(), PyTraceMalloc_Untrack() and _PyTraceMalloc_TraceRef() now check tracemalloc_config.tracing after calling TABLES_LOCK(). _PyTraceMalloc_Stop() now protects more code with TABLES_LOCK(), especially setting tracemalloc_config.tracing to 1. Add a test using PyTraceMalloc_Track() to test tracemalloc.stop() race condition. Call _PyTraceMalloc_Init() at Python startup.
* [3.13] gh-127599: Fix _Py_RefcntAdd missing calls to ↵Ed Nutting2025-01-182-0/+10
| | | | | | | | | _Py_INCREF_STAT_INC/_Py_INCREF_IMMORTAL_STAT_INC (GH-127717) (#128713) Previously, `_Py_RefcntAdd` hasn't called `_Py_INCREF_STAT_INC/_Py_INCREF_IMMORTAL_STAT_INC` which is incorrect. Now it has been fixed. (cherry picked from commit ab05beb8cea62636bd86f6f7cf1a82d7efca7162)
* [3.13] gh-126742: Add _PyErr_SetLocaleString, use it for gdbm & dlerror ↵Miss Islington (bot)2024-12-171-0/+12
| | | | | | | | | | messages (GH-126746) (GH-128023) - Add a helper to set an error from locale-encoded `char*` - Use the helper for gdbm & dlerror messages (cherry picked from commit 7303f06846b69016a075bca7ad7c6055f29ad024) Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com> Co-authored-by: Victor Stinner <vstinner@python.org>
* [3.13] gh-127906: Fix Py_BUILD_ASSERT_EXPR() on Windows (#127994)Victor Stinner2024-12-161-1/+1
| | | | | | gh-127906: Fix Py_BUILD_ASSERT_EXPR() on Windows Change Py_BUILD_ASSERT_EXPR implementation on Windows to avoid a compiler warning about an unnamed structure.
* [3.13] gh-127791: Fix, document, and test `PyUnstable_AtExit` (GH-127793) ↵Peter Bierma2024-12-111-0/+1
| | | | | | | | | | (#127819) * Fix merge conflicts. * [3.13] gh-127791: Fix, document, and test `PyUnstable_AtExit` (GH-127793) (cherry picked from commit d5d84c3f13fe7fe591b375c41979d362bc11957a) Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
* [3.13] gh-126076: Account for relocated objects in tracemalloc (GH-126077) ↵Pablo Galindo Salgado2024-12-111-5/+9
| | | | | (#127823) (cherry picked from commit 30aeb00d367d0cc9e5a7603371636cddea09f1c0)
* [3.13] Add `extern "C"` around `PyTraceMalloc_` functions. (GH-127772) (#127815)Miss Islington (bot)2024-12-111-0/+6
| | | | | | | | | Add `extern "C"` around `PyTraceMalloc_` functions. (GH-127772) Pretty much everything else exported by Python.h has an extern "C" annotation, yet this header appears to be missing one. (cherry picked from commit 2cdeb61b57e638ae46a04386330a12abe9cddf2c) Co-authored-by: Peter Hawkins <hawkinsp@cs.stanford.edu>
* [3.13] gh-126925: Modify how iOS test results are gathered (GH-127592) (#127754)Russell Keith-Magee2024-12-091-0/+3
| | | | | | | | Adds a `use_system_log` config item to enable stdout/stderr redirection for Apple platforms. This log streaming is then used by a new iOS test runner script, allowing the display of test suite output at runtime. The iOS test runner script can be used by any Python project, not just the CPython test suite. (cherry picked from commit 2041a95e68ebf6d13f867e214ada28affa830669)
* [3.13] gh-127582: Make object resurrection thread-safe for free threading. ↵Sam Gross2024-12-051-0/+44
| | | | | | | | | | | | | | | (GH-127612) (GH-127659) Objects may be temporarily "resurrected" in destructors when calling finalizers or watcher callbacks. We previously undid the resurrection by decrementing the reference count using `Py_SET_REFCNT`. This was not thread-safe because other threads might be accessing the object (modifying its reference count) if it was exposed by the finalizer, watcher callback, or temporarily accessed by a racy dictionary or list access. This adds internal-only thread-safe functions for temporary object resurrection during destructors. (cherry picked from commit f4f530804b9d8f089eba0f157ec2144c03b13651)
* Post 3.13.1Thomas Wouters2024-12-031-1/+1
|
* Python 3.13.1v3.13.1Thomas Wouters2024-12-031-2/+2
|
* [3.13] gh-122907: Fix Builds Without HAVE_DYNAMIC_LOADING Set (gh-122952) ↵Miss Islington (bot)2024-12-031-0/+4
| | | | | | | | | | | (#122984) gh-122907: Fix Builds Without HAVE_DYNAMIC_LOADING Set (gh-122952) As of 529a160 (gh-118204), building with HAVE_DYNAMIC_LOADING stopped working. This is a minimal fix just to get builds working again. There are actually a number of long-standing deficiencies with HAVE_DYNAMIC_LOADING builds that need to be resolved separately. (cherry picked from commit ee1b8ce26e700350e47a5f65201097121c41912e) Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
* [3.13] gh-126914: Store the Preallocated Thread State's Pointer in a ↵Eric Snow2024-12-021-0/+2
| | | | | | | PyInterpreterState Field (gh-127114) This approach eliminates the originally reported race. It also gets rid of the deadlock reported in gh-96071, so we can remove the workaround added then. This is mostly a cherry-pick of 1c0a104 (AKA gh-126989). The difference is we add PyInterpreterState.threads_preallocated at the end of PyInterpreterState, instead of adding PyInterpreterState.threads.preallocated. That avoids ABI disruption.
* [3.13] gh-125703: Correctly honour tracemalloc hooks on specialized DECREF ↵Miss Islington (bot)2024-12-021-0/+5
| | | | | | | | paths (GH-125704) (#125705) gh-125703: Correctly honour tracemalloc hooks on specialized DECREF paths (GH-125704) (cherry picked from commit f8ba9fb2ce6690d2dd05b356583e8e4790badad7) Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
* [3.13] gh-126688: Reinit import lock after fork (GH-126692) (GH-126765)Miss Islington (bot)2024-11-121-0/+1
| | | | | | | | | The PyMutex implementation supports unlocking after fork because we clear the list of waiters in parking_lot.c. This doesn't work as well for _PyRecursiveMutex because on some systems, such as SerenityOS, the thread id is not preserved across fork(). (cherry picked from commit 5610860840aa71b186fc5639211dd268b817d65f) Co-authored-by: Sam Gross <colesbury@gmail.com>
* [3.13] gh-126303: Fix pickling and copying of os.sched_param objects ↵Miss Islington (bot)2024-11-051-0/+1
| | | | | | | (GH-126336) (GH-126423) (cherry picked from commit d3840503b0f590ee574fbdf3c96626ff8b3c45f6) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* [3.13] gh-123930: Better error for "from imports" when script shadows module ↵Shantanu2024-10-241-0/+2
| | | | | | | (GH-123929) (#125937) gh-123930: Better error for "from imports" when script shadows module (#123929) (cherry picked from commit 500f5338a8fe13719478589333fcd296e8e8eb02)
* [3.13] gh-125268: Use static string for "1e309" in AST (GH-125272) (GH-125280)Sam Gross2024-10-245-1/+8
| | | | | | When formatting the AST as a string, infinite values are replaced by 1e309, which evaluates to infinity. The initialization of this string replacement was not thread-safe in the free threading build. (cherry picked from commit 427dcf24de4e06d239745d74d08c4b2e541dca5a)
* [3.13] gh-125859: Fix crash when `gc.get_objects` is called during GC ↵Miss Islington (bot)2024-10-241-0/+10
| | | | | | | | | | | | | | (GH-125882) (GH-125921) This fixes a crash when `gc.get_objects()` or `gc.get_referrers()` is called during a GC in the free threading build. Switch to `_PyObjectStack` to avoid corrupting the `struct worklist` linked list maintained by the GC. Also, don't return objects that are frozen (`gc.freeze()`) or in the process of being collected to more closely match the behavior of the default build. (cherry picked from commit e545ead66ce725aae6fb0ad5d733abe806c19750) Co-authored-by: Sam Gross <colesbury@gmail.com>
* [3.13] gh-125444: Fix illegal instruction for older Arm architectures ↵Miss Islington (bot)2024-10-162-3/+3
| | | | | | | | | | | | | (GH-125574) (GH-125595) On Arm v5 it is not possible to get the thread ID via c13 register hence the illegal instruction. The c13 register started to provide thread ID since Arm v6K architecture variant. Other variants of Arm v6 (T2, Z and base) don’t provide the thread ID via c13. For the sake of simplicity we group v5 and v6 together and consider that instructions for Arm v7 only. (cherry picked from commit feda9aa73ab95d17a291db22c416146f8e70edeb) Co-authored-by: Diego Russo <diego.russo@arm.com>
* Post 3.13.0Thomas Wouters2024-10-071-1/+1
|
* Python 3.13.0v3.13.0Thomas Wouters2024-10-071-3/+3
|
* Post 3.13.0rc3Thomas Wouters2024-10-011-1/+1
|
* Python 3.13.0rc3v3.13.0rc3Thomas Wouters2024-10-011-2/+2
|
* [3.13] GH-124567: Revert the Incremental GC in 3.13 (#124770)T. Wouters2024-09-303-47/+17
| | | | | Revert the incremental GC in 3.13, since it's not clear that without further turning, the benefits outweigh the costs. Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
* [3.13] gh-124609: Fix _Py_ThreadId for Windows builds using MinGW ↵Miss Islington (bot)2024-09-272-0/+10
| | | | | | | | (GH-124663) (#124698) gh-124609: Fix _Py_ThreadId for Windows builds using MinGW (GH-124663) (cherry picked from commit 0881e2d3b1212d988733f1d3acca4011ce5e6280) Co-authored-by: Tony Roberts <tony@pyxll.com>
* Post 3.13.0rc2Thomas Wouters2024-09-071-1/+1
|
* Python 3.13.0rc2v3.13.0rc2Thomas Wouters2024-09-061-2/+2
|
* [3.13] gh-123747: Avoid static_assert() in internal header files (#123779) ↵Victor Stinner2024-09-062-4/+9
| | | | | | | (#123785) gh-123747: Avoid static_assert() in internal header files (#123779) (cherry picked from commit ef4b69d2becf49daaea21eb04effee81328a0393)
* [3.13] gh-123091: Use _Py_IsImmortalLoose() (#123511) (#123600)Victor Stinner2024-09-022-4/+4
| | | | | | | | gh-123091: Use _Py_IsImmortalLoose() (#123511) Use _Py_IsImmortalLoose() in bytesobject.c, typeobject.c and ceval.c. (cherry picked from commit f1a0d96f41db9dfa5d7f0b32e72f6f7301a86f91)
* [3.13] gh-123484: Fix the debug offsets for PyLongObject (GH-123485) (#123499)Miss Islington (bot)2024-08-301-2/+2
|
* [3.13] Add debug offsets for free threaded builds (GH-123041) (#123055)Miss Islington (bot)2024-08-182-3/+82
| | | | | | | | | | | | * Add debug offsets for free threaded builds (GH-123041) (cherry picked from commit d7a3df91505faa56c51d169648253bd0d57ddae2) Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com> * Refresh ABI file --------- Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
* [3.13] gh-122584: Import mimalloc headers in a C++ context (GH-122587) (#123035)Miss Islington (bot)2024-08-161-0/+9
| | | | | | gh-122584: Import mimalloc headers in a C++ context (GH-122587) (cherry picked from commit 1dad23edbc9db3a13268c1000c8dd428edba29f8) Co-authored-by: Michael Droettboom <mdboom@gmail.com>
* [3.13] gh-122581: Avoid data races when collecting parser statistics ↵Miss Islington (bot)2024-08-071-0/+19
| | | | | | | | (GH-122694) (#122733) gh-122581: Avoid data races when collecting parser statistics (GH-122694) (cherry picked from commit ce0d66c8d238c9676c6ecd3f04294a3299e07f74) Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
* [3.13] gh-120974: Make asyncio `swap_current_task` safe in free-threaded ↵Miss Islington (bot)2024-08-021-1/+6
| | | | | | | | | | build (GH-122317) (#122612) gh-120974: Make asyncio `swap_current_task` safe in free-threaded build (GH-122317) * gh-120974: Make asyncio `swap_current_task` safe in free-threaded build (cherry picked from commit b5e6fb39a246bf7ee470d58632cdf588bb9d0298) Co-authored-by: Sam Gross <colesbury@gmail.com>
* Post 3.13.0rc1Thomas Wouters2024-08-011-1/+1
|
* Python 3.13.0rc1v3.13.0rc1Thomas Wouters2024-07-311-3/+3
|
* [3.13] GH-116090: Fire RAISE events from _FOR_ITER_TIER_TWO (GH-122419)Brandt Bucher2024-07-291-0/+1
| | | (cherry picked from commit 15d4cd096758ca089c6bd6ed808c34cca676d9bb)