summaryrefslogtreecommitdiffstats
path: root/Tools
Commit message (Collapse)AuthorAgeFilesLines
...
* GH-116422: Tier2 hot/cold splitting (GH-116813)Mark Shannon2024-03-267-54/+122
| | | | | Splits the "cold" path, deopts and exits, from the "hot" path, reducing the size of most jitted instructions, at the cost of slower exits.
* gh-116996: Add pystats about _Py_uop_analyse_and_optimize (GH-116997)Michael Droettboom2024-03-211-0/+26
|
* gh-76785: Drop PyInterpreterID_Type (gh-117101)Eric Snow2024-03-211-1/+0
| | | 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.
* gh-115754: Add Py_GetConstant() function (#116883)Victor Stinner2024-03-211-0/+1
| | | | | | | | | | | | 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.
* GH-108362: Incremental Cycle GC (GH-116206)Mark Shannon2024-03-201-2/+5
|
* GH-116017: Put JIT code and data on the same page (GH-116845)Brandt Bucher2024-03-192-5/+4
|
* gh-108716: Cleanup remaining deepfreeze infrastructure (#116919)Guido van Rossum2024-03-181-77/+2
| | | | | 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.
* gh-116879: Add new optimizer pystats to tables (GH-116880)Michael Droettboom2024-03-161-4/+30
|
* gh-112536: Add --tsan test for reasonable TSAN execution times. (gh-116601)Donghee Na2024-03-151-0/+5
|
* gh-85283: Build pwd extension with the limited C API (#116841)Victor Stinner2024-03-151-5/+4
| | | | Argument Clinic now uses the PEP 737 "%T" format to format type name for the limited C API.
* gh-113317, AC: Add libclinic.converter module (#116821)Victor Stinner2024-03-144-601/+621
| | | | | * Move CConverter class to a new libclinic.converter module. * Move CRenderData and Include classes to a new libclinic.crenderdata module.
* gh-113317, AC: Add libclinic.block_parser module (#116819)Victor Stinner2024-03-143-336/+361
| | | | | | * Move Block and BlockParser classes to a new libclinic.block_parser module. * Move Language and PythonLanguage classes to a new libclinic.language module.
* gh-113317, AC: Add libclinic.function (#116807)Victor Stinner2024-03-144-241/+270
| | | | | | Move Module, Class, Function and Parameter classes to a new libclinic.function module. Move VersionTuple and Sentinels to libclinic.utils.
* gh-116646, AC: Always use PyObject_AsFileDescriptor() in fildes (#116806)Victor Stinner2024-03-141-10/+7
| | | | | | | 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.
* gh-116646, AC: Add CConverter.use_converter() method (#116793)Victor Stinner2024-03-141-6/+35
| | | Only add includes when the converter is effectively used.
* gh-116646: Add limited C API support to AC fildes converter (#116769)Victor Stinner2024-03-141-12/+13
| | | Add tests on the "fildes" converter to _testclinic_limited.
* gh-113317, AC: Move warn() and fail() to libclinic.errors (#116770)Victor Stinner2024-03-143-47/+51
|
* gh-115419: Change default sym to not_null (GH-116562)Ken Jin2024-03-131-2/+2
|
* gh-85283: Convert grp extension to the limited C API (#116611)Victor Stinner2024-03-121-0/+2
| | | | posixmodule.h: remove check on the limited C API, since these helpers are not part of the public C API.
* gh-108494: Fix Argument Clinic LIMITED_CAPI_REGEX (#116610)Victor Stinner2024-03-111-2/+3
| | | Accept spaces in "# define Py_LIMITED_API 0x030d0000".
* GH-116596: Better determination of escaping uops. (GH-116597)Mark Shannon2024-03-111-0/+16
|
* gh-116576: Fix `Tools/scripts/sortperf.py` sorting the same list (#116577)Nikita Sobolev2024-03-111-1/+2
|
* gh-116417: Fix make check-c-globals for _testlimitedcapi (#116570)Victor Stinner2024-03-102-1/+1
| | | | | * Remove unused '_testcapimodule' global in Modules/_testcapi/unicode.c. * Update c-analyzer to not use the internal C API in _testlimitedcapi.c.
* gh-116417: Avoid PyFloat_AS_DOUBLE() in AC limited C API (#116568)Victor Stinner2024-03-101-18/+36
| | | | Argument Clinic no longer calls PyFloat_AS_DOUBLE() when the usage of the limited C API is requested.
* gh-116000: Make optimizer_generator.py work without any arguments (#116470)Kirill Podoprigora2024-03-071-5/+8
|
* gh-116417: Add _testlimitedcapi C extension (#116419)Victor Stinner2024-03-073-3/+4
| | | | | | | | | | | | | 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>
* gh-116381: Remove bad specializations, add fail stats (GH-116464)Ken Jin2024-03-071-0/+1
| | | * Remove bad specializations, add fail stats
* GH-116314: Update `Tools/wasm/README.md` to point to the devguide for ↵Brett Cannon2024-03-071-61/+3
| | | | building for WASI (GH-116445)
* chore: fix typos (#116345)cui fliter2024-03-051-1/+1
| | | Signed-off-by: cui fliter <imcusg@gmail.com>
* GH-116313: get WASI builds to run under wasmtime 18 w/ WASI 0.2/preview2 ↵Brett Cannon2024-03-052-4/+8
| | | | | | | | | 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`
* gh-116265: Remove obsolete sentence. (#116284)Terry Jan Reedy2024-03-041-4/+2
| | | | | Remove sentence in Tools/c-analyzer/README referring to deleted ignore-globals.txt.
* GH-116134: JIT aarch64-pc-windows-msvc (GH-116130)Brandt Bucher2024-03-042-0/+20
|
* GH-115802: Don't JIT zero-length jumps (GH-116177)Brandt Bucher2024-03-041-17/+68
|
* gh-114258: Argument Clinic: refactor getset implementation (#116170)Erlend E. Aasland2024-03-041-25/+10
| | | | | | * 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.
* GH-115978: Disable `*readv()` and `*writev()` on WASI (GH-116228)Brett Cannon2024-03-021-0/+9
| | | Wasmtime doesn't implement these functions in a way to pass test_posix (https://github.com/bytecodealliance/wasmtime/issues/7830).
* gh-116171: Argument Clinic: disallow overriding return converter for ↵Erlend E. Aasland2024-03-011-0/+2
| | | | __init__ methods (#116172)
* gh-115554: Improved logic for handling multiple existing py.exe launcher ↵Steve Dower2024-03-013-74/+134
| | | | installs (GH-115793)
* build(deps-dev): bump types-setuptools from 69.0.0.20240125 to ↵dependabot[bot]2024-03-011-1/+1
| | | | | | 69.1.0.20240301 in /Tools (#116190) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump hypothesis from 6.97.4 to 6.98.15 in /Tools (#116189)dependabot[bot]2024-03-011-1/+1
| | | | Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps-dev): bump types-psutil from 5.9.5.20240106 to 5.9.5.20240205 in ↵dependabot[bot]2024-03-011-1/+1
| | | | | | /Tools (#116188) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* gh-115999: Disable the specializing adaptive interpreter in free-threaded ↵Brett Simmers2024-03-011-0/+5
| | | | | builds (#116013) For now, disable all specialization when the GIL might be disabled.
* gh-103092: Add a mutex to make the PRNG state of rotatingtree ↵AN Long2024-02-291-0/+1
| | | | concurrent-safe (#115301)
* gh-116088: Insert bottom checks after all sym_set_...() calls (#116089)Guido van Rossum2024-02-291-4/+0
| | | | | | | | | 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.
* GH-115802: JIT "small" code for Windows (GH-115964)Brandt Bucher2024-02-294-19/+46
|
* gh-112844: Add SBOM for external dependencies (#115789)Seth Michael Larson2024-02-291-17/+91
|
* gh-115816: Generate calls to sym_new_const() etc. without _Py_uop prefix ↵Guido van Rossum2024-02-291-4/+4
| | | | | | | | | (#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); ```
* gh-115773: Add tests to exercise the _Py_DebugOffsets structure (#115774)Pablo Galindo Salgado2024-02-281-0/+1
|
* GH-115816: Assorted naming and formatting changes to improve ↵Mark Shannon2024-02-271-3/+3
| | | | | | | 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.
* GH-115816: Make tier2 optimizer symbols testable, and add a few tests. ↵Mark Shannon2024-02-272-5/+3
| | | | (GH-115953)
* gh-115168: Add pystats counter for invalidated executors (GH-115169)Michael Droettboom2024-02-261-1/+10
|