Michael Droettboom
50369e6c34
gh-116996: Add pystats about _Py_uop_analyse_and_optimize (GH-116997)
2024-03-22 01:27:46 +08:00
Eric Snow
617158e078
gh-76785: Drop PyInterpreterID_Type (gh-117101)
...
I added it quite a while ago as a strategy for managing interpreter lifetimes relative to the PEP 554 (now 734) implementation. Relatively recently I refactored that implementation to no longer rely on InterpreterID objects. Thus now I'm removing it.
2024-03-21 17:15:02 +00:00
Victor Stinner
8bea6c411d
gh-115754: Add Py_GetConstant() function ( #116883 )
...
Add Py_GetConstant() and Py_GetConstantBorrowed() functions.
In the limited C API version 3.13, getting Py_None, Py_False,
Py_True, Py_Ellipsis and Py_NotImplemented singletons is now
implemented as function calls at the stable ABI level to hide
implementation details. Getting these constants still return borrowed
references.
Add _testlimitedcapi/object.c and test_capi/test_object.py to test
Py_GetConstant() and Py_GetConstantBorrowed() functions.
2024-03-21 16:07:00 +00:00
Mark Shannon
15309329b6
GH-108362: Incremental Cycle GC (GH-116206)
2024-03-20 08:54:42 +00:00
Brandt Bucher
2c82592ab4
GH-116017: Put JIT code and data on the same page (GH-116845)
2024-03-19 08:47:28 -07:00
Guido van Rossum
9c7b3688e6
gh-108716: Cleanup remaining deepfreeze infrastructure ( #116919 )
...
Keep Tools/build/deepfreeze.py around (we may repurpose it for deepfreezing non-code objects),
and keep basic "clean" targets that remove the output of former deep-freeze activities,
to keep the build directories of current devs clean.
2024-03-18 11:13:11 -07:00
Michael Droettboom
1a33513f99
gh-116879: Add new optimizer pystats to tables (GH-116880)
2024-03-16 23:10:43 +08:00
Donghee Na
ebf29b3a02
gh-112536: Add --tsan test for reasonable TSAN execution times. (gh-116601)
2024-03-16 01:07:16 +09:00
Victor Stinner
8fc8fbb43a
gh-85283: Build pwd extension with the limited C API ( #116841 )
...
Argument Clinic now uses the PEP 737 "%T" format to format type name
for the limited C API.
2024-03-15 08:49:58 +01:00
Victor Stinner
25cd8730aa
gh-113317, AC: Add libclinic.converter module ( #116821 )
...
* Move CConverter class to a new libclinic.converter module.
* Move CRenderData and Include classes to a new libclinic.crenderdata
module.
2024-03-14 18:59:43 +01:00
Victor Stinner
b54d7c87aa
gh-113317, AC: Add libclinic.block_parser module ( #116819 )
...
* Move Block and BlockParser classes to a new libclinic.block_parser
module.
* Move Language and PythonLanguage classes to a new
libclinic.language module.
2024-03-14 16:11:39 +00:00
Victor Stinner
b1236a4410
gh-113317, AC: Add libclinic.function ( #116807 )
...
Move Module, Class, Function and Parameter classes to a new
libclinic.function module.
Move VersionTuple and Sentinels to libclinic.utils.
2024-03-14 14:37:22 +00:00
Victor Stinner
a76288ad9b
gh-116646, AC: Always use PyObject_AsFileDescriptor() in fildes ( #116806 )
...
The fildes converter of Argument Clinic now always call
PyObject_AsFileDescriptor(), not only for the limited C API.
The _PyLong_FileDescriptor_Converter() converter stays as a fallback
when PyObject_AsFileDescriptor() cannot be used.
2024-03-14 14:58:07 +01:00
Victor Stinner
2a54c4b25e
gh-116646, AC: Add CConverter.use_converter() method ( #116793 )
...
Only add includes when the converter is effectively used.
2024-03-14 13:57:02 +01:00
Victor Stinner
d4028724f2
gh-116646: Add limited C API support to AC fildes converter ( #116769 )
...
Add tests on the "fildes" converter to _testclinic_limited.
2024-03-14 10:28:58 +01:00
Victor Stinner
a18c9854e8
gh-113317, AC: Move warn() and fail() to libclinic.errors ( #116770 )
2024-03-14 08:07:01 +00:00
Ken Jin
617aca9e74
gh-115419: Change default sym to not_null (GH-116562)
2024-03-13 20:57:48 +08:00
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