Victor Stinner
3cc5ae5c2c
gh-85283: Convert grp extension to the limited C API ( #116611 )
...
posixmodule.h: remove check on the limited C API, since these helpers
are not part of the public C API.
2024-03-12 00:46:53 +00:00
Victor Stinner
2b67fc57f6
gh-108494: Fix Argument Clinic LIMITED_CAPI_REGEX ( #116610 )
...
Accept spaces in "# define Py_LIMITED_API 0x030d0000".
2024-03-11 22:42:18 +00:00
Mark Shannon
b6ae6da1bd
GH-116596: Better determination of escaping uops. (GH-116597)
2024-03-11 13:37:48 +00:00
Nikita Sobolev
4704e55a71
gh-116576: Fix `Tools/scripts/sortperf.py` sorting the same list ( #116577 )
2024-03-11 09:38:04 +03:00
Victor Stinner
c5fa796619
gh-116417: Fix make check-c-globals for _testlimitedcapi ( #116570 )
...
* Remove unused '_testcapimodule' global in Modules/_testcapi/unicode.c.
* Update c-analyzer to not use the internal C API in
_testlimitedcapi.c.
2024-03-10 20:19:47 +00:00
Victor Stinner
729bfb3105
gh-116417: Avoid PyFloat_AS_DOUBLE() in AC limited C API ( #116568 )
...
Argument Clinic no longer calls PyFloat_AS_DOUBLE() when the usage of
the limited C API is requested.
2024-03-10 20:42:40 +01:00
Kirill Podoprigora
b2d74cdbcd
gh-116000: Make optimizer_generator.py work without any arguments ( #116470 )
2024-03-07 19:05:50 +00:00
Victor Stinner
d9bcdda39c
gh-116417: Add _testlimitedcapi C extension ( #116419 )
...
Add a new C extension "_testlimitedcapi" which is only built with the
limited C API.
Move heaptype_relative.c and vectorcall_limited.c from
Modules/_testcapi/ to Modules/_testlimitedcapi/.
* configure: add _testlimitedcapi test extension.
* Update generate_stdlib_module_names.py.
* Update make check-c-globals.
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2024-03-07 18:31:12 +00:00
Ken Jin
41457c7fdb
gh-116381: Remove bad specializations, add fail stats (GH-116464)
...
* Remove bad specializations, add fail stats
2024-03-08 00:21:21 +08:00
Brett Cannon
bc708c76d2
GH-116314: Update `Tools/wasm/README.md` to point to the devguide for building for WASI (GH-116445)
2024-03-07 02:38:00 +00:00
cui fliter
e7ba6e9dbe
chore: fix typos ( #116345 )
...
Signed-off-by: cui fliter <imcusg@gmail.com>
2024-03-05 09:05:52 -07:00
Brett Cannon
7af063d1d8
GH-116313: get WASI builds to run under wasmtime 18 w/ WASI 0.2/preview2 primitives ( #116327 )
...
* GH-116313: get WASI builds to run under wasmtime 18 w/ WASI 0.2/preview2 primitives
* Add the configure changes
* Update `wasm_build.py`
2024-03-05 09:18:53 +01:00
Terry Jan Reedy
88b5c665ee
gh-116265: Remove obsolete sentence. ( #116284 )
...
Remove sentence in Tools/c-analyzer/README referring to deleted
ignore-globals.txt.
2024-03-04 16:49:42 -05:00
Brandt Bucher
ffed8d985b
GH-116134: JIT aarch64-pc-windows-msvc (GH-116130)
2024-03-04 10:16:56 -08:00
Brandt Bucher
981f27dcc4
GH-115802: Don't JIT zero-length jumps (GH-116177)
2024-03-04 10:13:10 -08:00
Erlend E. Aasland
cfbdce7208
gh-114258: Argument Clinic: refactor getset implementation ( #116170 )
...
* Move param guard to param state machine
* Override return converter during parsing
* Don't use a custom type slot return converter; instead
special case type slot functions during generation.
2024-03-04 13:51:28 +01:00
Brett Cannon
5dc8c84d39
GH-115978: Disable `*readv()` and `*writev()` on WASI (GH-116228)
...
Wasmtime doesn't implement these functions in a way to pass test_posix (https://github.com/bytecodealliance/wasmtime/issues/7830 ).
2024-03-01 16:52:12 -08:00
Erlend E. Aasland
cc6f807760
gh-116171: Argument Clinic: disallow overriding return converter for __init__ methods ( #116172 )
2024-03-01 18:41:20 +01:00
Steve Dower
9b7f253b55
gh-115554: Improved logic for handling multiple existing py.exe launcher installs (GH-115793)
2024-03-01 12:58:27 +00:00
dependabot[bot]
8ab6c2775c
build(deps-dev): bump types-setuptools from 69.0.0.20240125 to 69.1.0.20240301 in /Tools ( #116190 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-01 11:08:46 +00:00
dependabot[bot]
7b4794319c
build(deps): bump hypothesis from 6.97.4 to 6.98.15 in /Tools ( #116189 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-01 10:27:35 +00:00
dependabot[bot]
19e16ce6f8
build(deps-dev): bump types-psutil from 5.9.5.20240106 to 5.9.5.20240205 in /Tools ( #116188 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-01 10:24:27 +00:00
Brett Simmers
339c8e1c13
gh-115999: Disable the specializing adaptive interpreter in free-threaded builds ( #116013 )
...
For now, disable all specialization when the GIL might be disabled.
2024-02-29 21:53:32 -05:00
AN Long
ca56c3a172
gh-103092: Add a mutex to make the PRNG state of rotatingtree concurrent-safe ( #115301 )
2024-03-01 00:04:16 +01:00
Guido van Rossum
0656509033
gh-116088: Insert bottom checks after all sym_set_...() calls ( #116089 )
...
This changes the `sym_set_...()` functions to return a `bool` which is `false`
when the symbol is `bottom` after the operation.
All calls to such functions now check this result and go to `hit_bottom`,
a special error label that prints a different message and then reports
that it wasn't able to optimize the trace. No executor will be produced
in this case.
2024-02-29 18:55:29 +00:00
Brandt Bucher
f0df35eeca
GH-115802: JIT "small" code for Windows (GH-115964)
2024-02-29 08:11:28 -08:00
Seth Michael Larson
45d8871dc4
gh-112844: Add SBOM for external dependencies ( #115789 )
2024-02-29 17:38:04 +02:00
Guido van Rossum
86e5e063ab
gh-115816: Generate calls to sym_new_const() etc. without _Py_uop prefix ( #116077 )
...
This was left behind by GH-115987. Basically a lot of diffs like this:
```
- res = _Py_uop_sym_new_unknown(ctx);
+ res = sym_new_unknown(ctx);
```
2024-02-29 00:05:53 +00:00
Pablo Galindo Salgado
1752b51012
gh-115773: Add tests to exercise the _Py_DebugOffsets structure ( #115774 )
2024-02-28 10:17:34 +00:00
Mark Shannon
6ecfcfe894
GH-115816: Assorted naming and formatting changes to improve maintainability. (GH-115987)
...
* Rename _Py_UOpsAbstractInterpContext to _Py_UOpsContext and _Py_UOpsSymType to _Py_UopsSymbol.
* #define shortened form of _Py_uop_... names for improved readability.
2024-02-27 13:25:02 +00:00
Mark Shannon
10fbcd6c5d
GH-115816: Make tier2 optimizer symbols testable, and add a few tests. (GH-115953)
2024-02-27 10:51:26 +00:00
Michael Droettboom
b05afdd5ec
gh-115168: Add pystats counter for invalidated executors (GH-115169)
2024-02-26 17:51:47 +00:00
Guido van Rossum
c0fdfba7ff
Rename tier 2 redundancy eliminator to optimizer ( #115888 )
...
The original name is just too much of a mouthful.
2024-02-26 08:42:53 -08:00
Brandt Bucher
7259480957
GH-115802: JIT "small" code for macOS and Linux (GH-115826)
2024-02-26 08:32:44 -08:00
Kirill Podoprigora
e4561e0501
gh-115778: Add `tierN` annotation for instruction definitions ( #115815 )
...
This replaces the old `TIER_{ONE,TWO}_ONLY` macros. Note that `specialized` implies `tier1`.
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2024-02-23 17:31:57 +00:00
Nikita Sobolev
e3f462c9a7
Remove `ConverterKeywordDict` alias in `clinic.py` ( #115843 )
2024-02-23 09:00:07 +00:00
Brandt Bucher
17dab2e572
GH-113464: Clean up JIT stencil generation (GH-115800)
2024-02-22 10:22:23 -08:00
Victor Stinner
52d1477566
gh-110850: Rename internal PyTime C API functions ( #115734 )
...
Rename functions:
* _PyTime_GetSystemClock() => _PyTime_TimeUnchecked()
* _PyTime_GetPerfCounter() => _PyTime_PerfCounterUnchecked()
* _PyTime_GetMonotonicClock() => _PyTime_MonotonicUnchecked()
* _PyTime_GetSystemClockWithInfo() => _PyTime_TimeWithInfo()
* _PyTime_GetMonotonicClockWithInfo() => _PyTime_MonotonicWithInfo()
* _PyTime_GetMonotonicClockWithInfo() => _PyTime_MonotonicWithInfo()
Changes:
* Remove "typedef PyTime_t PyTime_t;" which was
"typedef PyTime_t _PyTime_t;" before a previous rename.
* Update comments of "Unchecked" functions.
* Remove invalid PyTime_Time() comment.
2024-02-20 22:16:37 +00:00
Guido van Rossum
142502ea8d
Tier 2 cleanups and tweaks ( #115534 )
...
* Rename `_testinternalcapi.get_{uop,counter}_optimizer` to `new_*_optimizer`
* Use `_PyUOpName()` instead of` _PyOpcode_uop_name[]`
* Add `target` to executor iterator items -- `list(ex)` now returns `(opcode, oparg, target, operand)` quadruples
* Add executor methods `get_opcode()` and `get_oparg()` to get `vmdata.opcode`, `vmdata.oparg`
* Define a helper for printing uops, and unify various places where they are printed
* Add a hack to summarize_stats.py to fix legacy uop names (e.g. `POP_TOP` -> `_POP_TOP`)
* Define helpers in `test_opt.py` for accessing the set or list of opnames of an executor
2024-02-20 20:24:35 +00:00
Mark Shannon
626c414995
GH-115457: Support splitting and replication of micro ops. (GH-115558)
2024-02-20 10:50:59 +00:00
Mark Shannon
7b21403ccd
GH-112354: Initial implementation of warm up on exits and trace-stitching (GH-114142)
2024-02-20 09:39:55 +00:00
Nikita Sobolev
f9154f8f23
gh-108303: Move `Lib/test/sortperf.py` to `Tools/scripts` ( #114687 )
2024-02-18 10:27:14 +03:00
Hugo van Kemenade
aba37d451f
gh-100176: Remove outdated Tools/{io,cc,string}bench ( #101853 )
...
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2024-02-17 14:17:21 -07:00
Łukasz Langa
711f42de2e
gh-115556: Remove quotes from command-line arguments in test.bat and rt.bat ( #115557 )
...
This change essentially replaces usage of `%1` with `%~1`, which removes
quotes, if any. Without this change, the if statements fail due to
the quotes mangling the syntax.
Additionally, this change works around comma being treated as a parameter
delimiter in test.bat by escaping commas at time of parsing. Tested
combinations of rt and regrtest arguments, all seems to work as before
but now you can specify commas in arguments like "-uall,extralargefile".
2024-02-16 21:24:56 +01:00
Michael Droettboom
fbb0169731
gh-115362: Add documentation to pystats output ( #115365 )
2024-02-16 17:06:07 +00:00
Erlend E. Aasland
351c103134
gh-113317: Argument Clinic: move C/Py identifier helpers into libclinic ( #115520 )
2024-02-16 07:42:15 +01:00
Erlend E. Aasland
58cb634632
gh-113317: Argument Clinic: move linear_format into libclinic ( #115518 )
2024-02-15 23:52:20 +01:00
Erlend E. Aasland
e74fa294c9
gh-113317: Argument Clinic: inline required_type_for_self_for_parser() in self converter ( #115522 )
...
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2024-02-15 16:03:58 +00:00
Erlend E. Aasland
a0149fa6cf
gh-113317: Argument Clinic: remove global clinic instance ( #115517 )
2024-02-15 13:21:31 +00:00
Erlend E. Aasland
7f074a771b
gh-113317: Argument Clinic: don't use global state in warn() and fail() ( #115510 )
2024-02-15 13:22:21 +01:00