Agriya Khetarpal
e2064d6750
Emscripten: use better _Py_Version
computation for worker module ( #129757 )
...
Use integer bit shifting instead of conversion to strings to compute Python version.
2025-02-07 12:55:27 +08:00
Sam Gross
a191d6f78e
gh-117657: Include all of test_free_threading in TSAN tests ( #129749 )
2025-02-07 00:37:05 +01:00
Bogdan Romanyuk
365cf5fc23
gh-117657: Fix data race in new_reference
for free threaded build (gh-129665)
2025-02-06 15:35:37 -05:00
sobolevn
8b2fb62933
gh-129707: Check Tools/build/compute-changes.py
with mypy
( #129708 )
...
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-02-06 15:47:29 +00:00
Ken Jin
cb640b659e
gh-128563: A new tail-calling interpreter (GH-128718)
...
Co-authored-by: Garrett Gu <garrettgu777@gmail.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2025-02-06 23:21:57 +08:00
Adam Turner
7d9a22f509
Convert change detection to a Python script ( #129627 )
...
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Sviatoslav Sydorenko (Святослав Сидоренко) <wk.cvs.github@sydorenko.org.ua>
2025-02-05 16:39:42 +00:00
Tomas R.
e41ec8e18b
gh-104400: pygettext: Prepare to replace TokenEater with a NodeVisitor ( #129672 )
...
* Update the module docstring
* Move ``key_for`` inside the class
* Move ``write_pot_file`` outside the class
2025-02-04 22:59:23 +00:00
Mark Shannon
96ff4c2486
GH-128682: Mark two more macros as escaping. (GH-129645)
...
Expand out SETLOCAL so that code generator can see the decref. Mark Py_CLEAR as escaping
2025-02-04 14:00:51 +00:00
Mark Shannon
2effea4dab
GH-128682: Spill the stack pointer in labels, as well as instructions (GH-129618)
2025-02-04 12:18:31 +00:00
Mark Shannon
75b628adeb
GH-128563: Generate opcode = ...
in instructions that need opcode
(GH-129608)
...
* Remove support for GO_TO_INSTRUCTION
2025-02-03 15:09:21 +00:00
Mark Shannon
808071b994
GH-128682: Make PyStackRef_CLOSE
escaping. (GH-129404)
2025-02-03 12:41:32 +00:00
Diego Russo
567394517a
GH-128842: Collect JIT memory stats (GH-128941)
2025-02-02 15:17:53 -08:00
Adam Turner
237f186da4
gh-104400: Remove `fintl.gettext
` from pygettext ( #129580 )
...
The ``fintl`` module is never installed or tested, meaning that the
fallback identity function is unconditionally used for ``_()``.
This means we can simplify, converting the docstring to a real
docstring, and converting some other strings to f-strings.
We also convert the module to UTF-8, sort imports,
and remove the history comment, which was last updated in 2002.
Consult the git history for a more accurate summary of changes.
2025-02-02 14:30:34 +00:00
Mark Shannon
54f74b80ae
GH-128563: Move some labels, to simplify implementing tailcalling interpreter. (GH-129525)
2025-01-31 17:13:20 +00:00
Irit Katriel
5ab9604683
clearer error and suggestion when c-analyzer cannot read ignored.tsv ( #129423 )
2025-01-30 11:38:52 +00:00
Stan Ulbrych
652f66ac38
gh-129438: Update `--enable-experimental-jit
` section with install requirements ( #129450 )
...
Add a note to the `JIT` docs that building CPython with `JIT` requires Python 3.11 or newer.
Co-authored-by: Brandt Bucher <brandtbucher@gmail.com>
2025-01-30 12:16:05 +02:00
Pieter Eendebak
a29221675e
gh-127119: Faster check for small ints in long_dealloc (GH-127620)
2025-01-29 15:22:18 +00:00
Irit Katriel
4815131910
gh-100239: specialize bitwise logical binary ops on ints ( #128927 )
2025-01-29 09:28:21 +00:00
🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко)
03d9cdb729
Merge TSAN test matrices in CI ( #123278 )
2025-01-29 11:16:51 +02:00
Brandt Bucher
828b27680f
GH-126599: Remove the PyOptimizer API (GH-129194)
2025-01-28 16:10:51 -08:00
T. Wouters
5c930a26fb
gh-115999: Enable free-threaded specialization of LOAD_CONST ( #129365 )
...
Enable free-threaded specialization of LOAD_CONST.
2025-01-29 01:07:56 +01:00
Sam Gross
d23f5701ad
gh-128844: Make _Py_TryIncref
public as an unstable API. ( #128926 )
...
This exposes `_Py_TryIncref` as `PyUnstable_TryIncref()` and the helper
function `_PyObject_SetMaybeWeakref` as `PyUnstable_EnableTryIncRef`.
These are helpers for dealing with unowned references in a safe way,
particularly in the free threading build.
Co-authored-by: Petr Viktorin <encukou@gmail.com>
2025-01-28 19:32:27 +00:00
Ken Jin
87fb8b198c
gh-128563: Move labels in ceval.c to bytecodes.c (GH-129112)
2025-01-27 18:30:20 +08:00
sobolevn
cc4f0a2770
Replace strict_concatenate = True
with extra_checks = True
( #126391 )
2025-01-25 12:44:23 +03:00
Sam Gross
a10f99375e
Revert "GH-128914: Remove conditional stack effects from bytecodes.c
and the code generators (GH-128918)" (GH-129202)
...
The commit introduced a ~2.5-3% regression in the free threading build.
This reverts commit ab61d3f430
.
2025-01-23 09:26:25 +00:00
Yury Selivanov
188598851d
GH-91048: Add utils for capturing async call stack for asyncio programs and enable profiling ( #124640 )
...
Signed-off-by: Pablo Galindo <pablogsal@gmail.com>
Co-authored-by: Pablo Galindo <pablogsal@gmail.com>
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Co-authored-by: Savannah Ostrowski <savannahostrowski@gmail.com>
Co-authored-by: Jacob Coffee <jacob@z7x.org>
Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
2025-01-22 17:25:29 +01:00
Mark Shannon
470a0a68eb
GH-128682: Change a couple of functions to only steal references on success. (GH-129132)
...
Change PyTuple_FromStackRefSteal and PyList_FromStackRefSteal to only steal on success to avoid escaping
2025-01-22 10:51:37 +00:00
Ken Jin
86c1a60d5a
gh-128563: Move GO_TO_INSTRUCTION and PREDICT to cases generator (GH-129115)
2025-01-22 09:22:25 +08:00
Mark Shannon
f5b6356a11
GH-128563: Add new frame owner type for interpreter entry frames (GH-129078)
...
Add new frame owner type for interpreter entry frames
2025-01-21 10:15:02 +00:00
Petr Viktorin
d3b1bb228c
gh-128156: Guard use of ffi_type_complex_double
on macOS system libffi (GH-128680)
...
* Determine ffi complex support at runtime
* Also, generate SIMPLE_TYPE_CHARS once at runtime
2025-01-21 10:59:18 +01:00
Mark Shannon
ab61d3f430
GH-128914: Remove conditional stack effects from bytecodes.c
and the code generators (GH-128918)
2025-01-20 17:09:23 +00:00
Mark Shannon
f0f7b978be
GH-128939: Refactor JIT optimize structs (GH-128940)
2025-01-20 15:49:15 +00:00
Erlend E. Aasland
537296cdcd
gh-111178: Generate correct signature for most self converters ( #128447 )
2025-01-20 12:40:18 +01:00
Mark Shannon
b5558cd63c
Refactor code generators a bit (GH-128920)
...
Refactor code generators a bit to avoid passing stack property around all over the place
2025-01-17 16:59:30 +00:00
Xuanteng Huang
b44ff6d0df
GH-126599: Remove the "counter" optimizer/executor (GH-126853)
2025-01-16 15:57:04 -08:00
Irit Katriel
3893a92d95
gh-100239: specialize long tail of binary operations ( #128722 )
2025-01-16 15:22:13 +00:00
mpage
b5ee0258bf
gh-115999: Specialize LOAD_ATTR
for instance and class receivers in free-threaded builds ( #128164 )
...
Finish specialization for LOAD_ATTR in the free-threaded build by adding support for class and instance receivers.
2025-01-14 11:56:11 -08:00
Mark Shannon
f49a1df6f3
GH-128682: Convert explicit loops closing arrays into DECREF_INPUTS
. (GH-128822)
...
* Mark Py_DECREF and Py_XDECREF as escaping
* Remove explicit loops for clearing array inputs
2025-01-14 15:08:56 +00:00
Mark Shannon
517dc65ffc
GH-128682: Stronger checking of PyStackRef_CLOSE
and DEAD
. (GH-128683)
2025-01-13 12:37:48 +00:00
Mark Shannon
39fc7ef4fe
GH-124483: Mark Py_DECREF
, etc. as escaping for the JIT (GH-128678)
2025-01-13 11:42:45 +00:00
Brandt Bucher
65ae3d5a73
GH-127809: Fix the JIT's understanding of ** (GH-127844)
2025-01-07 17:25:48 -08:00
Mark Shannon
f826beca0c
GH-128375: Better instrument for FOR_ITER
(GH-128445)
2025-01-06 17:54:47 +00:00
Mark Shannon
b9c693dcca
GH-128073: Include EXIT_IF
when checking for escaping calls (GH-128537)
2025-01-06 14:16:22 +00:00
Erlend E. Aasland
a4e773c540
gh-128152: Argument Clinic: ignore pre-processor directives inside C comments ( #128464 )
2025-01-04 11:46:04 +01:00
Sam Gross
f1574859d7
gh-125985: Fix cmodule_function()
scaling benchmark ( #128460 )
...
Add a separate benchmark that measures the effect of
`_PyObject_LookupSpecial()` on scaling.
In the process of cleaning up the scaling benchmarks for inclusion, I
unintentionally changed the "cmodule_function" benchmark to pass an
`int` to `math.floor()` instead of a `float`, which causes it to use the
`_PyObject_LookupSpecial()` code path. `_PyObject_LookupSpecial()` has
its own scaling issues that we want to measure separately from calling a
function on a C module.
2025-01-03 21:48:47 +00:00
Erlend E. Aasland
8abd6cef68
gh-115765: Upgrade to GNU Autoconf 2.72 ( #128411 )
2025-01-03 11:37:54 +00:00
Kumar Aditya
e389d6c650
gh-128277: make globals variables thread safe in socket module ( #128286 )
2024-12-31 19:10:06 +05:30
Mark Shannon
d2f1d917e8
GH-122548: Implement branch taken and not taken events for sys.monitoring (GH-122564)
2024-12-19 16:59:51 +00:00
Peter Bierma
b5d1e4552f
gh-128083: Fix macro redefinition warning in clinic. (GH-127950)
2024-12-19 15:00:30 +01:00
Pablo Galindo Salgado
47c5a0f307
gh-125588: Allow to regenerate the parser with Python < 3.12 ( #127969 )
...
Signed-off-by: Pablo Galindo <pablogsal@gmail.com>
2024-12-15 23:17:01 +00:00