Commit Graph

4852 Commits

Author SHA1 Message Date
Mark Shannon 61e759c2ee GH-135904: JIT compiler: Support 19 bit branch instructions on AArch64 for Mach-O. (GH-140453)
* Insert labels into assembly for custom relocation during stencil creation.
2025-10-23 16:45:57 +01:00
Brett Cannon e5f4299f13 GH-140475: Support WASI SDK 25 (#140477)
As well, bump the version of Wasmtime used in CI.
2025-10-22 14:34:37 -07:00
Mark Shannon f1883852ed GH-135904: Implement assembler optimization for AArch64. (GH-139855) 2025-10-17 11:26:17 +01:00
Albert N 999ab8926b gh-133059: Fix Tools/build/deepfreeze.py for new nsmallposints (#139906) 2025-10-17 11:48:53 +03:00
Victor Stinner 166cdaa6fb gh-111489: Remove _PyTuple_FromArray() alias (#139973)
Replace _PyTuple_FromArray() with PyTuple_FromArray().
Remove pycore_tuple.h includes.
2025-10-11 22:58:14 +02:00
partev 33f32d6740 Replace obsolete platforms with more recent examples (#132455)
Co-authored-by: Filipe Laíns 🇵🇸 <lains@riseup.net>
2025-10-10 05:38:13 +00:00
adam j hartz 34503111fe gh-137025: Update Emscripten Build Docs (#137312)
Update Emscripten build docs to point at the devguide as the primary reference
for managing an Emscripten build.
2025-10-10 06:36:40 +08:00
sobolevn 678e0b818c gh-139590: Stricter ruff rules for Tools/wasm (#139752) 2025-10-09 01:13:27 +03:00
Bénédikt Tran b04a57deef gh-139748: fix leaks in AC error paths when using unicode FS-based converters (#139765) 2025-10-08 20:52:44 +05:30
Savannah Ostrowski a15aeec29e GH-139590: Run ruff format on pre-commit for Tools/wasm (#139591)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2025-10-08 02:25:06 +00:00
danigm 96c59a6e42 gh-138497: Support LLVM_VERSION configuration via env (#138498)
Co-authored-by: Savannah Ostrowski <savannah@python.org>
2025-10-07 07:54:31 -07:00
Zachary Ware 98e748b3a0 gh-139573: Update OpenSSL in CI (GH-139577) 2025-10-04 19:43:17 -05:00
Sergey Miryanov e6e376a760 gh-132042: Remove resolve_slotdups() to speedup class creation (#132156)
Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: sobolevn <mail@sobolevn.me>
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2025-10-03 11:58:00 +02:00
Hugo van Kemenade 800d856bc7 gh-92266: Update pre-commit (#139411) 2025-10-01 08:40:54 +03:00
Seth Michael Larson 89b5571025 gh-139330: Check expat version/checksum in SBOM with refresh.sh
Check expat version/checksum in SBOM with refresh.sh
2025-09-25 17:13:45 +00:00
dgpb 7ce25edb8f gh-133059: Increase the small positive integer cache to 1024 (GH-133160) 2025-09-24 17:05:30 -04:00
Savannah Bailey f0d8583303 GH-139040: Add Dev Container instructions in JIT README (#139041) 2025-09-22 09:34:02 -07:00
sobolevn 080faf2d47 Docs: add missing tools to Tools/README (#139150)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2025-09-21 14:44:17 +03:00
Savannah Bailey 85c1ef6477 GH-137218: Update make for JIT stencils (#137265) 2025-09-19 10:36:42 +01:00
Adam Turner 1ebd726c9b gh-64490: Argument Clinic: Add support for `**kwds` (#138344)
This adds a scaffold of support, initially only working with
strictly positional-only arguments. The FASTCALL calling
convention is not yet supported.
2025-09-18 13:31:42 +00:00
Ken Jin a269e691de gh-139109: Dynamic opcode targets (GH-139111)
Make opcode targets table dynamic
2025-09-18 14:12:07 +01:00
Victor Stinner 6504f20cce gh-135755: Make Py_TAIL_CALL_INTERP macro private (#138981)
Rename Py_TAIL_CALL_INTERP to _Py_TAIL_CALL_INTERP.
2025-09-18 14:33:07 +02:00
Pablo Galindo Salgado 0ce9fb7e3b gh-138970: Add general metadata system to the peg generator (#138971) 2025-09-18 02:17:04 +01:00
Adam Turner 2212ae5557 GH-92266: Remove embedded tabs from `c-analyzer/cpython/_parser.py` (#137622) 2025-09-17 15:25:04 +00:00
Hood Chatham 2629ee4eb0 gh-128627: Use __builtin_wasm_test_function_pointer_signature for Emscripten trampoline (#137470)
With https://github.com/llvm/llvm-project/pull/150201 being merged, there is 
now a better way to generate the Emscripten trampoline, instead of including 
hand-generated binary WASM content. Requires Emscripten 4.0.12.
2025-09-17 15:33:55 +01:00
adang1345 76b22978bc gh-138896: Fix error installing C runtime on non-updated Windows machines (GH-138932) 2025-09-17 14:32:52 +01:00
Brandt Bucher 55e29a6100 GH-129805: Clean up some changes from GH-129806 (GH-133540) 2025-09-16 11:29:09 +01:00
Savannah Bailey fa12c6bae4 GH-132732: Remove textwrap import (#138933) 2025-09-15 16:09:51 +00:00
Savannah Bailey 9c9a0f7da7 GH-132732: Use pure op machinery to optimize various instructions with _POP_TOP and _POP_TWO (#137577) 2025-09-15 16:29:45 +01:00
Benjamin Peterson 5bd4bf04c4 closes gh-138706: update Unicode to 17.0.0 (#138719) 2025-09-11 09:58:39 -07:00
Adam Turner 057ee17410 gh-136264: Fix `--relative-paths` for PEP 739's build-details.json (#138510)
* KeyError is not raised for defaultdict
* Fix relative paths on different drives on Windows
* Add a round-trip test

Co-authored-by: Itamar Oren <itamarost@gmail.com>
2025-09-08 10:14:05 +01:00
Gyeongjae Choi d1d84098f6 gh-138515: Include email module in Emscripten build (gh-138520) 2025-09-05 16:34:18 +08:00
sobolevn 06f8d7aa9f gh-138281: Remove unused topsort and bump minimal version in peg_generator (#138487) 2025-09-04 00:27:14 +01:00
sobolevn 0d1f4e1639 gh-138281: Run ruff on Tools/peg_generator (#138282)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2025-09-03 17:45:29 +00:00
Serhiy Storchaka 4a33077fdb gh-138264: Fix gcc 14 compiler warnings (GH-138265) 2025-09-03 11:26:56 +03:00
Sergey Miryanov 33f89106d7 gh-133158: Adjust c-analyzer max_sizes for typeobject.c (GH-133159)
This also improves the error message for when a file is too large.
2025-09-02 13:34:22 +00:00
Christoph Walcher 47bc10e6b3 gh-135763: AC: Implement `allow_negative for Py_ssize_t` (#138150)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2025-09-01 22:55:22 +01:00
Stan Ulbrych 78acd8e95e gh-138286: Run `ruff on Tools/i18n` (#138287)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Tomas R. <tomas.roun8@gmail.com>
2025-08-31 20:29:02 +00:00
chemelnucfin 7bca924fdb gh-138279: Remove unused attr in RuleCollectorVisitor in parser_generator.py (#138280) 2025-08-31 14:23:40 +00:00
alm d3d94e0ed7 gh-138061: Exclude __pycache__ directory from the computed digest in the JIT stencils (#138131)
Exclude the __pycache__ directory when generating the digest in the JIT stencils
2025-08-30 22:21:25 +01:00
Tommaso Bona 31d3836f26 gh-138158: Use the "data" tarfile extraction filter in Tools/ssl/multissltests.py (#138147)
The `Tools/ssl/multissltests.py` script may extract a possibly untrusted tarball.
Since the script does not necessarily use Python 3.14 or later (where the `"data"`
filter became the default `tarfile` extraction filter), the user may theoretically
suffer from a path traversal attack.

Although the script should not be used in production and usually relies on downloading
trusted sources, the `"data"` extraction filter is now explicitly used wherever relevant.
2025-08-30 12:27:32 +02:00
chemelnucfin 11217a883d gh-138257: Fix internal RuleCollectorVisitor attribute name (#138208)
The internal `RuleCollectorVisitor` class had an attribute named "rulses"
instead of "rules" that other `GrammarVisitor` subclasses define.
2025-08-30 11:28:44 +02:00
Mark Shannon a8d9d94784 GH-137959: Replace shim code in jitted code with a single trampoline function. (GH-137961) 2025-08-21 10:40:53 +01:00
Itamar Oren d22a745644 gh-137964: Remove the "experimental" designation from the Windows installer (GH-137965) 2025-08-19 22:30:59 +01:00
Petr Viktorin 719e5c3f71 gh-123681: Check NORMALIZE_CENTURY behavior at runtime; require C99 (GH-136022)
A runtime check is needed to support cross-compiling.

Remove the _Py_NORMALIZE_CENTURY macro.
Remove _pydatetime.py's _can_support_c99.

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2025-08-19 12:59:03 +02:00
Adam Turner 918e3ba6c0 GH-137623: Use an AC decorator for docstring line length enforcement (#137690) 2025-08-18 18:29:00 +01:00
Petr Viktorin 7dfa048bbb gh-135228: Create __dict__ and __weakref__ descriptors for object (GH-136966)
This partially reverts #137047, keeping the tests for GC collectability of the
original class that dataclass adds `__slots__` to.
The reference leaks solved there are instead solved by having the `__dict__` &
`__weakref__` descriptors not tied to (and referencing) their class.

Instead, they're shared between all classes that need them (within
an interpreter).
The `__objclass__` ol the descriptors is set to `object`, since these
descriptors work with *any* object. (The appropriate checks were already
made in the get/set code, so the `__objclass__` check was redundant.)

The repr of these descriptors (and any others whose `__objclass__` is `object`)
now doesn't mention the objclass.

This change required adjustment of introspection code that checks
`__objclass__` to determine an object's “own” (i.e. not inherited) `__dict__`.
Third-party code that does similar introspection of the internals will also
need adjusting.


Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2025-08-18 14:25:51 +02:00
Serhiy Storchaka 0c8fecc4cf gh-137729: Fix support for locales with @-modifiers (GH-137253) 2025-08-18 10:11:15 +03:00
sobolevn 04377a1bd1 gh-133403: Run mypy on Tools/build/check_warnings.py (#137700) 2025-08-14 16:58:02 +03:00
Zachary Ware 7a703c8f19 gh-132339: Add support for OpenSSL 3.5 (GH-137720)
* Add OpenSSL 3.5.2 definitions to Modules/_ssl_data_35.h (moved from Modules/_ssl_data_34.h)

* Demote OpenSSL 3.1 to "old", remove it from CI

* Update all OpenSSL versions to latest patchlevel in CI config and multissltests defaults

* Add OpenSSL 3.5.2 to CI configuration and multissltests default list

* Fix a typo in the argument parser description of multissltests.py
2025-08-13 23:18:03 -05:00