Savannah Ostrowski
26c0248b54
GH-114809: Add support for macOS multi-arch builds with the JIT enabled ( #131751 )
...
Co-authored-by: Ronald Oussoren <ronaldoussoren@mac.com>
Co-authored-by: Brandt Bucher <brandtbucher@microsoft.com>
2025-04-30 11:03:57 -07: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
Brandt Bucher
732d1b0241
Get rid of ERROR_IF's "label" parameter (GH-132654)
2025-04-29 17:21:53 -07:00
Brandt Bucher
b329096cfb
GH-125515: Mark code after "return" as unreachable in the cases generator ( #133178 )
...
Mark code after "return" as unreachable
2025-04-30 00:21:14 +00: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
Mark Shannon
622300bdfa
GH-132554: Add stats for GET_ITER (GH-132592)
...
* Add stats for GET_ITER
* Look for common iterable types, not iterator types
* Add stats for self iter and fix naming in summary
2025-04-29 09:00:14 +01: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
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
Steve Dower
e20ca6d1b0
gh-132930: Implement PEP 773 (GH-132931)
...
This change to the core CPython repo:
* Adds PyManager support to PC/layout
* Adds a warning message to the legacy py.exe if subcommands are invoked
* Add deprecation message to traditional installer
* Updates using/windows docs
2025-04-28 13:57:47 +01:00
Bénédikt Tran
e577439803
gh-131423: update note in `Tools/ssl/make_ssl_data.py` ( #133077 )
2025-04-28 11:11:46 +00:00
Serhiy Storchaka
6677c2c165
gh-132987: Support __index__() for unsigned integers in Argument Clinic (GH-133011)
2025-04-28 11:02:18 +03:00
Lukas
146b981f76
Silence system utils tests in emscripten python.sh ( #133044 )
...
Ensure that checks for system functions don't leak onto stdout on failure.
2025-04-28 06:13:02 +08:00
Serhiy Storchaka
632524a5cb
gh-132987: Support __index__() for "k" and "K" formats in PyArg_Parse (GH-132988)
2025-04-26 17:14:18 +03:00
Victor Stinner
1a70f66ea8
gh-132921: Fix setuptools._distutils.dep_util deprecation ( #132923 )
...
Replace setuptools._distutils.dep_util with setuptools.modified in
peg_generator compile_c_extension().
2025-04-25 11:31:19 +00:00
Bénédikt Tran
6a9bfee4fa
gh-131423: Update OpenSSL data to 3.4.1 on Linux ( #131618 )
...
OpenSSL 3.4.1 mnemonics are not compatible with OpenSSL 3.4.0 ones since
they were renumbered [1, 2]. Consequently, `_ssl_data_34.h` is renamed to
`_ssl_data_340.h` and `_ssl_data_34.h` now contains OpenSSL 3.4.1 mnemonics.
We also refine the mnemonics that are selected, discarding those that are
mnemonic-like but should not be used as such. More precisely, we remove
the ERR_LIB_MASK and ERR_LIB_OFFSET entries from OpenSSL 1.1.1 data.
[1]: https://github.com/openssl/openssl/issues/26316
[2]: https://github.com/openssl/openssl/issues/26388
2025-04-25 10:26:58 +02:00
Stan Ulbrych
92985e321a
gh-130195: Fix typo in warning message ( #130254 )
...
Co-authored-by: Éric <merwok@netwok.org>
2025-04-24 17:06:12 +03:00
sobolevn
87b1ea016b
Update `pre-commit` repos ( #132792 )
2025-04-22 18:32:19 +03: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
Peter Bierma
8dfa840773
gh-127604: Add C stack dumps to `faulthandler` ( #128159 )
2025-04-21 20:48:02 +01:00
Eric Snow
9be3645688
gh-132777: Fix Error Message for Duplicates in generate_global_scripts.py (gh-132780)
...
The fstring would actually raise a KeyError, which we fix. We also adjust the text to be correct.
2025-04-21 16:58:10 +00:00
Serhiy Storchaka
78cfee6f09
gh-132753: Argument Clinic: Fix support of c_default for the bool converter (GH-132754)
2025-04-20 23:21:29 +00:00
Bénédikt Tran
5d8e432d9f
gh-132390: Apply Ruff linting to `Tools/build` ( #132391 )
...
---------
Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
2025-04-20 11:21:41 +02:00
Brandt Bucher
40ae88988c
GH-131498: Replace single-element arrays with scalars in bytecodes.c (GH-132615)
2025-04-18 07:16:28 -07:00
Bénédikt Tran
50e518e886
gh-132097: allow AC to disable fastcall convention to avoid UBSan failures ( #131605 )
2025-04-18 10:15:40 +02:00
Yongzi Li
a985c9262f
Fix some typos in various doc files (GH-132589)
2025-04-16 18:11:47 +00:00
Kumar Aditya
4b15d105a2
gh-132070: add `PyObject_Realloc` suppression in free-threading ( #132468 )
2025-04-16 06:10:56 +05:30
Mark Shannon
844596c09f
GH-131498: Cases generator: Allow input and 'peek' variables to be modified (GH-132506)
2025-04-14 12:19:53 +01:00
Tomas R.
b6760b7fa5
gh-130453: pygettext: Allow specifying multiple keywords with the same function name (GH-131380)
2025-04-10 11:06:40 +00:00
Tomas R.
a693eaa710
gh-132121: Always escape non-printable characters in pygettext (GH-132122)
2025-04-06 23:15:17 +03:00
Stan Ulbrych
ad6a032ceb
gh-131852: Filter out POT-Creation-Date in msgfmt (GH-131880)
...
Co-authored-by: Tomas R. <tomas.roun8@gmail.com>
2025-04-05 22:38:39 +03:00
Chris Eibl
d827d4d018
gh-131591: Fix GENERATE_DEBUG_SECTION for clangcl on Windows (GH-132112)
2025-04-06 00:00:54 +08:00
Bénédikt Tran
0a97427ee5
gh-99108: Implement HACL* HMAC ( #130157 )
...
A new extension module, `_hmac`, now exposes the HACL* HMAC (formally verified) implementation.
The HACL* implementation is used as a fallback implementation when the OpenSSL implementation of HMAC
is not available or disabled. For now, only named hash algorithms are recognized and SIMD support provided
by HACL* for the BLAKE2 hash functions is not yet used.
2025-04-04 19:04:00 +02:00
Mark Shannon
7099c75550
GH-131498: Cases generator: manage stacks automatically (GH-132074)
2025-04-04 17:59:36 +01:00
Irit Katriel
df59226997
gh-100239: more refined specialisation stats for BINARY_OP/SUBSCR ( #132068 )
2025-04-04 15:33:31 +01:00
Mark Shannon
ad053d8d6a
GH-131498: Cases generator: Parse down to C statement level. (GH-131948)
...
* Parse down to statement level in the cases generator
* Add handling for #if macros, treating them much like normal ifs.
2025-04-02 16:31:59 +01:00
Tomas R.
87d9983994
gh-130197: pygettext: Test the --escape option (GH-131902)
2025-04-02 11:46:54 +03:00
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
Mark Shannon
c535a132e4
GH-131498: Another refactoring of the code generator (GH-131827)
...
* Rename 'defined' attribute to 'in_local' to more accurately reflect how it is used
* Make death of variables explicit even for array variables.
* Convert in_memory from boolean to stack offset
* Don't apply liveness analyis to optimizer generated code
* Add 'out' parameter to stack.pop
2025-03-31 13:52:48 +01:00
Michael Droettboom
8614f86b71
gh-131525: Cache the result of tuple_hash ( #131529 )
...
* gh-131525: Cache the result of tuple_hash
* Fix debug builds
* Add blurb
* Fix formatting
* Pre-compute empty tuple singleton
* Mostly set the cache within tuple_alloc
* Fixes for TSAN
* Pre-compute empty tuple singleton
* Fix for 32-bit platforms
* Assert that op != NULL in _PyTuple_RESET_HASH_CACHE
* Use FT_ATOMIC_STORE_SSIZE_RELAXED macro
* Update Include/internal/pycore_tuple.h
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
* Fix alignment
* atomic load
* Update Objects/tupleobject.c
Co-authored-by: Chris Eibl <138194463+chris-eibl@users.noreply.github.com>
---------
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Chris Eibl <138194463+chris-eibl@users.noreply.github.com>
2025-03-27 09:57:06 -04:00
Mark Shannon
d836d287a7
GH-131729: Consider in-memory state when merging storage and stack (GH-131773)
2025-03-27 08:32:45 +00:00
Mark Shannon
1b8bb1ed0c
GH-131729: Code-gen better liveness analysis (GH-131732)
...
* Rename 'defined' attribute to 'in_local' to more accurately reflect how it is used
* Make death of variables explicit even for array variables.
* Convert in_memory from boolean to stack offset
* Don't apply liveness analysis to optimizer generated code
* Fix RETURN_VALUE in optimizer
2025-03-26 15:21:35 +00:00
Bojun Ren
a26a301f8b
GH-130673: Gracefully handle missing sections in JIT build (GH-130906)
2025-03-25 16:35:39 -07:00
Diego Russo
ea0453ee97
GH-130887: Always remove trailing jumps in AArch64 JIT stencils (GH-131042)
2025-03-25 10:15:36 -07:00
Adam Turner
7d9442f0d5
gh-128446: Run Windows CI tests on each commit ( #131702 )
2025-03-25 09:06:15 +02:00
Hood Chatham
97ab8fc16a
gh-127146: Fix Emscripten build with --pydebug ( #131672 )
...
Removes an explicit check that sysconfigdata naming is correct, in favor of reporting at
runtime with the default mechanisms.
2025-03-25 05:43:31 +08:00
Victor Stinner
49fb75c676
gh-131238: Add missing pycore_function.h includes for JIT compiler ( #131571 )
2025-03-21 23:37:49 +00:00
Mark Shannon
d3f6063af1
GH-131513: Cases generator: Allow dead inputs to be reassigned (GH-131515)
2025-03-21 11:38:17 +00:00
Mark Shannon
7ebd71ee14
GH-131498: Remove conditional stack effects (GH-131499)
...
* Adds some missing #includes
2025-03-20 15:39:38 +00:00
Mark Shannon
83d54fa876
GH-130296: Remove `_PyOpcode_max_stack_effect` as it is no longer used (GH-131493)
2025-03-20 11:42:54 +00:00
Petr Viktorin
4bced29a74
gh-130587: Add hand-written docs for non-OP tokens (GH-130588)
...
Co-authored-by: Blaise Pabon <blaise@gmail.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
2025-03-19 16:42:11 +01:00