summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* gh-112532: Tag mimalloc heaps and pages (#113742)Sam Gross2024-01-057-16/+35
| | | | | | | | | | | | | | | | | | | | | * gh-112532: Tag mimalloc heaps and pages Mimalloc pages are data structures that contain contiguous allocations of the same block size. Note that they are distinct from operating system pages. Mimalloc pages are contained in segments. When a thread exits, it abandons any segments and contained pages that have live allocations. These segments and pages may be later reclaimed by another thread. To support GC and certain thread-safety guarantees in free-threaded builds, we want pages to only be reclaimed by the corresponding heap in the claimant thread. For example, we want pages containing GC objects to only be claimed by GC heaps. This allows heaps and pages to be tagged with an integer tag that is used to ensure that abandoned pages are only claimed by heaps with the same tag. Heaps can be initialized with a tag (0-15); any page allocated by that heap copies the corresponding tag. * Fix conversion warning
* gh-101100: Fix Sphinx warnings in `library/pyclbr.rst` (#113739)Hugo van Kemenade2024-01-053-50/+58
| | | | Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* gh-80532: Do not set ipv6type when cross-compiling (#17956)Zackery Spytz2024-01-053-2/+3
| | | Co-authored-by: Xavier de Gaye <xdegaye@gmail.com>
* gh-101100: Fix Sphinx warnings for 2.6 deprecations and removals (#113725)Hugo van Kemenade2024-01-058-57/+57
| | | | | Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
* gh-113703: Correctly identify incomplete f-strings in the codeop module ↵Pablo Galindo Salgado2024-01-053-2/+11
| | | | (#113709)
* GH-113486: Do not emit spurious PY_UNWIND events for optimized calls to ↵Mark Shannon2024-01-056-28/+64
| | | | classes. (GH-113680)
* gh-113320: Reduce the number of dangerous `getattr()` calls when ↵Alex Waygood2024-01-053-20/+68
| | | | | | | constructing protocol classes (#113401) - Only attempt to figure out whether protocol members are "method members" or not if the class is marked as a runtime protocol. This information is irrelevant for non-runtime protocols; we can safely skip the risky introspection for them. - Only do the risky getattr() calls in one place (the runtime_checkable class decorator), rather than in three places (_ProtocolMeta.__init__, _ProtocolMeta.__instancecheck__ and _ProtocolMeta.__subclasscheck__). This reduces the number of locations in typing.py where the risky introspection could go wrong. - For runtime protocols, if determining whether a protocol member is callable or not fails, give a better error message. I think it's reasonable for us to reject runtime protocols that have members which raise strange exceptions when you try to access them. PEP-544 clearly states that all protocol member must be callable for issubclass() calls against the protocol to be valid -- and if a member raises when we try to access it, there's no way for us to figure out whether it's a callable member or not!
* gh-112532: Isolate abandoned segments by interpreter (#113717)Sam Gross2024-01-047-76/+102
| | | | | | | | | | | | | | | * gh-112532: Isolate abandoned segments by interpreter Mimalloc segments are data structures that contain memory allocations along with metadata. Each segment is "owned" by a thread. When a thread exits, it abandons its segments to a global pool to be later reclaimed by other threads. This changes the pool to be per-interpreter instead of process-wide. This will be important for when we use mimalloc to find GC objects in the `--disable-gil` builds. We want heaps to only store Python objects from a single interpreter. Absent this change, the abandoning and reclaiming process could break this isolation. * Add missing '&_mi_abandoned_default' to 'tld_empty'
* GH-113225: Speed up `pathlib.Path.glob()` (#113226)Barney Gale2024-01-042-1/+8
| | | | Use `os.DirEntry.path` as the string representation of child paths, unless the parent path is empty, in which case we use the entry `name`.
* gh-113538: Don't error in stream reader protocol callback when task is ↵Guido van Rossum2024-01-043-7/+21
| | | | cancelled (#113690)
* gh-113569: Display calls in Mock.assert_has_calls failure when empty (GH-113573)wookie1842024-01-043-18/+28
|
* gh-113696: Docs: Annotate PyObject_CallOneArg and PyObject_CallNoArgs as ↵Jamie Phan2024-01-041-0/+7
| | | | returning a strong reference (#113697)
* GH-113689: Fix broken handling of invalid executors (GH-113694)Brandt Bucher2024-01-042-2/+4
|
* gh-52161: Enhance Cmd support for docstrings (#110987)Filip Łapkiewicz2024-01-032-1/+4
| | | | | In `cmd.Cmd.do_help` call `inspect.cleandoc()`, to clean indentation and remove leading/trailing empty lines from a dosctring before printing.
* Document the `co_lines` method on code objects (#113682)Alex Waygood2024-01-036-12/+51
| | | Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
* gh-113258: Write frozen modules to the build tree on Windows (GH-113303)Itamar Oren2024-01-035-56/+61
| | | This ensures the source directory is not modified at build time, and different builds (e.g. different versions or GIL vs no-GIL) do not have conflicts.
* gh-113603: Compiler no longer tries to maintain the no-empty-block invariant ↵Irit Katriel2024-01-033-78/+52
| | | | (#113636)
* gh-111926: Set up basic sementics of weakref API for freethreading (gh-113621)Donghee Na2024-01-031-19/+37
| | | | | --------- Co-authored-by: Sam Gross <colesbury@gmail.com>
* gh-101100: Fix Sphinx warnings for removed dead batteries (#113669)Hugo van Kemenade2024-01-0319-53/+53
| | | | Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* `functools.partial` docs: Use the more common spelling for "referenceable" ↵Rodrigo Girão Serrão2024-01-031-1/+1
| | | | (#113675)
* gh-113637: Let c_annotations.py to handle the spacing of Limited/Unstable ↵Ege Akman2024-01-033-12/+14
| | | | API & Stable ABI translation strings (#113638)
* GH-113595: Don't enter invalid executor (GH-113596)Mark Shannon2024-01-032-19/+39
|
* gh-113628: Fix test_site test with long stdlib paths (#113640)Itamar Oren2024-01-031-22/+21
|
* GH-113657: Add back missing _SET_IP uops in tier two (GH-113662)Brandt Bucher2024-01-022-2/+5
|
* gh-110824 Temporarily skip test_sysconfig.test_library on macOS framework ↵Skip Montanaro2024-01-021-2/+7
| | | | | builds. (GH-113298) Co-authored-by: Ned Deily <nad@python.org>
* gh-53502: Fix plistlib.dump() for naive datetime with aware_datetime option ↵Serhiy Storchaka2024-01-022-3/+4
| | | | (GH-113645)
* build(deps): bump actions/upload-artifact from 3 to 4 (#113614)dependabot[bot]2024-01-021-2/+2
| | | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/stale from 8 to 9 (#113611)dependabot[bot]2024-01-021-1/+1
| | | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* gh-111178: Avoid calling functions from incompatible pointer types in ↵Christopher Chavez2024-01-021-18/+26
| | | | | _tkinter.c (GH-112893) Fix undefined behavior warnings (UBSan -fsanitize=function).
* gh-111178: Avoid calling functions from incompatible pointer types in ↵Christopher Chavez2024-01-021-100/+126
| | | | | dictobject.c (#112892) Fix undefined behavior warnings (UBSan -fsanitize=function).
* gh-111178: Avoid calling functions from incompatible pointer types in ↵Christopher Chavez2024-01-021-106/+147
| | | | | | | | | | descrobject.c (GH-112861) Fix undefined behavior warnings (UBSan -fsanitize=function), for example: Python/generated_cases.c.h:3315:13: runtime error: call to function mappingproxy_dealloc through pointer to incorrect function type 'void (*)(struct _object *)' descrobject.c:1160: note: mappingproxy_dealloc defined here SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior Python/generated_cases.c.h:3315:13 in
* gh-111178: Avoid calling functions from incompatible pointer types in ↵Christopher Chavez2024-01-021-72/+92
| | | | | | | | | | listobject.c (GH-112820) Fix undefined behavior warnings (UBSan -fsanitize=function), for example: Objects/object.c:674:11: runtime error: call to function list_repr through pointer to incorrect function type 'struct _object *(*)(struct _object *)' listobject.c:382: note: list_repr defined here SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior Objects/object.c:674:11 in
* gh-113602: Bail out when the parser tries to override existing errors (#113607)Pablo Galindo Salgado2024-01-023-0/+8
| | | Signed-off-by: Pablo Galindo <pablogsal@gmail.com>
* gh-81094: Refer to PEP 318 in compound_statements.rst (#113588)John D. McDonald2024-01-021-1/+4
| | | | Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
* gh-101100: Fix Sphinx warnings from removed `~!` references (#113629)Hugo van Kemenade2024-01-029-22/+22
| | | | Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* no-issue: Use the official term "free-threading" for GitHub Action (gh-113622)Donghee Na2024-01-023-20/+20
|
* GH-113633: Use module state structure for _testcapi. (GH-113634)Neil Schemenauer2024-01-012-51/+65
| | | Use module state structure for _testcapi.
* gh-53502: Fixes for tests in gh-113363 (#113627)Ronald Oussoren2024-01-012-5/+4
| | | | | | | * gh-53502: Fixes for tests in gh-113363 * Use 32-bit compatible date in test_dump_naive_datetime_with_aware_datetime_option * Saving non-aware datetimes will use the old behaviour regardless of the aware_datimetime setting
* gh-53502: add a new option aware_datetime in plistlib to loads or dumps ↵AN Long2024-01-014-23/+134
| | | | | | aware datetime. (#113363) * add options to loads and dumps aware datetime in plistlib
* gh-113536: Expose `os.waitid` on macOS (#113542)Ronald Oussoren2024-01-014-13/+14
| | | | | | | | | * gh-113536: Expose `os.waitid` on macOS This API has been available on macOS for a long time, but was explicitly excluded due to unspecified problems with the API in ancient versions of macOS. * Document that the API is available on macOS starting in Python 3.13
* gh-62260: Fix ctypes.Structure subclassing with multiple layers (GH-13374)Jeffrey Kintscher2024-01-014-7/+70
| | | | | | | | | | | The length field of StgDictObject for Structure class contains now the total number of items in ffi_type_pointer.elements (excluding the trailing null). The old behavior of using the number of elements in the parent class can cause the array to be truncated when it is copied, especially when there are multiple layers of subclassing. Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* build(deps): bump hypothesis from 6.91.0 to 6.92.2 in /Tools (#113615)dependabot[bot]2024-01-011-1/+1
| | | | | | | | | | | | | | | Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.91.0 to 6.92.2. - [Release notes](https://github.com/HypothesisWorks/hypothesis/releases) - [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.91.0...hypothesis-python-6.92.2) --- updated-dependencies: - dependency-name: hypothesis dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump github/codeql-action from 2 to 3 (#113613)dependabot[bot]2024-01-011-1/+1
| | | | | | | | | | | | | | | | Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/v2...v3) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/setup-python from 4 to 5 (#113612)dependabot[bot]2024-01-015-6/+6
| | | | | | | | | | | | | | | Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* # gh-111700: Fix syntax highlighting for C code in the "What's New In Python ↵Parth Doshi2024-01-011-1/+3
| | | | | 3.12" documentation (#113609) Fix PEP 684 syntax highlighting in what's new Python 3.12
* gh-101578: [doc] mention that PyErr_GetRaisedException returns NULL when the ↵Irit Katriel2023-12-311-1/+1
| | | | error indicator is not set (#113369)
* gh-101100: Fix Sphinx warnings in `library/configparser.rst` (#113598)Hugo van Kemenade2023-12-3111-36/+35
| | | | Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* Update ConfigParser docs defining valid section name (#110506)Delgan2023-12-301-1/+1
|
* gh-89414: Document that SIGCLD is not available on macOS (#113580)Ronald Oussoren2023-12-301-0/+2
| | | Document that SIGCLD is not available on macOS
* gh-112536: Add support for thread sanitizer (TSAN) (gh-112648)Samet YASLAN2023-12-308-10/+81
|