summaryrefslogtreecommitdiff
path: root/Tools
Commit message (Collapse)AuthorAgeFilesLines
* gh-104050: Add type hints to Argument Clinic converter keywords (#104588)Erlend E. Aasland2023-05-171-12/+36
| | | | | Introduce TypeSet, and use it to annotate the 'accept' keyword of various C converters. Also add some missing return annotations for converter init functions.
* gh-104050: Add typing to Argument Clinic converters (#104547)Erlend E. Aasland2023-05-161-53/+57
|
* GH-103092: isolate `pyexpat` (#104506)Kumar Aditya2023-05-161-1/+0
|
* gh-104050: Add more annotations to `Tools/clinic.py` (#104544)Nikita Sobolev2023-05-163-30/+60
|
* gh-104050: Don't star-import 'types' in Argument Clinic (#104543)Erlend E. Aasland2023-05-161-3/+2
|
* gh-104050: Add basic typing to CConverter in clinic.py (#104538)Erlend E. Aasland2023-05-161-14/+14
|
* gh-64595: Fix write file logic in Argument Clinic (#104507)Erlend E. Aasland2023-05-161-11/+12
| | | | Check if any clinic output actually changes any of the output files before deciding if we should touch the source file.
* gh-101819: Isolate `_io` (#101948)Erlend E. Aasland2023-05-151-4/+0
| | | | Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> Co-authored-by: Victor Stinner <vstinner@python.org>
* Bump mypy from 1.2.0 to 1.3.0 in /Tools/clinic (#104501)dependabot[bot]2023-05-151-1/+1
| | | | | | | | | | | | | | | | build(deps-dev): bump mypy from 1.2.0 to 1.3.0 in /Tools/clinic Bumps [mypy](https://github.com/python/mypy) from 1.2.0 to 1.3.0. - [Commits](https://github.com/python/mypy/compare/v1.2.0...v1.3.0) --- updated-dependencies: - dependency-name: mypy dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* gh-104050: Run mypy on `clinic.py` in CI (#104421)Alex Waygood2023-05-154-24/+55
| | | | | | | | | | * Add basic mypy workflow to CI * Make the type check pass --------- Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com> Co-authored-by: Nikita Sobolev <mail@sobolevn.me> Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
* GH-103082: Filter LINE events in VM, to simplify tool implementation. ↵Mark Shannon2023-05-121-1/+1
| | | | | | | | (GH-104387) When monitoring LINE events, instrument all instructions that can have a predecessor on a different line. Then check that the a new line has been hit in the instrumentation code. This brings the behavior closer to that of 3.11, simplifying implementation and porting of tools.
* gh-104389: Add 'unused' keyword to Argument Clinic C converters (#104390)Erlend E. Aasland2023-05-121-1/+19
| | | | | | | | | Use the unused keyword param in the converter to explicitly mark an argument as unused: /*[clinic input] SomeBaseClass.stubmethod flag: bool(unused=True) [clinic start generated code]*/
* gh-87729: improve hit rate of LOAD_SUPER_ATTR specialization (#104270)Carl Meyer2023-05-111-3/+5
|
* GH-102181: Improve specialization stats for SEND (GH-102182)penguin_wwy2023-05-101-0/+2
|
* gh-90953: Don't use deprecated AST nodes in clinic.py (#104322)Alex Waygood2023-05-091-9/+3
|
* Trim trailing whitespace and test on CI (#104275)Hugo van Kemenade2023-05-082-2/+2
| | | | Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* gh-99108: Replace SHA3 implementation HACL* version (#103597)Jonathan Protzenko2023-05-071-7/+1
| | | | | | | | | | | Replaces our built-in SHA3 implementation with a verified one from the HACL* project. This implementation is used when OpenSSL does not provide SHA3 or is not present. 3.11 shiped with a very slow tiny sha3 implementation to get off of the <=3.10 reference implementation that wound up having serious bugs. This brings us back to a reasonably performing built-in implementation consistent with what we've just replaced our other guaranteed available standard hash algorithms with: code from the HACL* project. --------- Co-authored-by: Gregory P. Smith <greg@krypto.org>
* gh-64660: Don't hardcode Argument Clinic return converter result variable ↵Erlend E. Aasland2023-05-071-9/+14
| | | | name (#104200)
* gh-101819: Port _io.PyBytesIOBuffer_Type to heap type (#104264)Erlend E. Aasland2023-05-071-1/+0
|
* gh-101819: Adapt _io.PyWindowsConsoleIO_Type to heap type (#104197)Erlend E. Aasland2023-05-071-1/+0
|
* gh-101819: Port _io.PyIncrementalNewlineDecoder_Type to heap type (#104249)Erlend E. Aasland2023-05-071-1/+0
|
* gh-104146: Remove unused var 'parser_body_declarations' from clinic.py (#104214)Erlend E. Aasland2023-05-051-3/+1
|
* gh-103533: Use PEP 669 APIs for cprofile (GH-103534)Tian Gao2023-05-051-0/+1
|
* gh-64595: Argument Clinic: Touch source file if any output file changed ↵Erlend E. Aasland2023-05-051-6/+13
| | | | (#104152)
* gh-68395: Avoid naming conflicts by mangling variable names in Argument ↵Erlend E. Aasland2023-05-051-1/+12
| | | | | Clinic (#104065) Add all internally used variable names to CLINIC_PREFIXED_ARGS.
* gh-103963: fix 'make regen-opcode' in out-of-tree builds (#104177)Carl Meyer2023-05-041-1/+1
|
* gh-102500: Implement PEP 688 (#102521)Jelle Zijlstra2023-05-043-0/+4
| | | Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
* gh-104146: Remove unused 'second_pass_replacements' from clinic.py (#104147)Erlend E. Aasland2023-05-041-19/+2
| | | | The code that manipulated 'second_pass_replacements' was removed in 2015 with commit 0759f84 (gh-67688, bpo-23500).
* GH-103963: Make dis display names of args for intrinsics opcodes (#104029)Juhi Chandalia2023-05-021-2/+34
|
* gh-98040: Remove just the `imp` module (#98573)Barry Warsaw2023-04-283-9/+8
|
* gh-103583: Isolate CJK codec modules (#103869)Erlend E. Aasland2023-04-271-21/+0
|
* gh-103092: Isolate _ctypes, part 1 (#103893)Erlend E. Aasland2023-04-271-6/+2
| | | | | | | | | Establish global state and port the following types to heap types: - DictRemover_Type - PyCArg_Type - PyCThunk_Type - PyCField_Type - StructParam_Type
* gh-103875: Use ascii and latin1 singletons in deepfreeze (#103876)Yichen Yan2023-04-261-0/+6
|
* gh-101659: Isolate "obmalloc" State to Each Interpreter (gh-101660)Eric Snow2023-04-241-0/+1
| | | | | | | | | | | | | | This is strictly about moving the "obmalloc" runtime state from `_PyRuntimeState` to `PyInterpreterState`. Doing so improves isolation between interpreters, specifically most of the memory (incl. objects) allocated for each interpreter's use. This is important for a per-interpreter GIL, but such isolation is valuable even without it. FWIW, a per-interpreter obmalloc is the proverbial canary-in-the-coalmine when it comes to the isolation of objects between interpreters. Any object that leaks (unintentionally) to another interpreter is highly likely to cause a crash (on debug builds at least). That's a useful thing to know, relative to interpreter isolation.
* gh-103801: Tools/wasm linting and formatting (#103796)Daniel Versoza2023-04-242-3/+4
| | | | | | | | | | | | This PR makes three minor linting adjustments to the `wasm` module caught by [ruff](https://github.com/charliermarsh/ruff). <!-- gh-issue-number: gh-103801 --> * Issue: gh-103801 <!-- /gh-issue-number --> --------- Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
* gh-84436: Implement Immortal Objects (gh-19474)Eddie Elizondo2023-04-221-1/+1
| | | | | | | | | This is the implementation of PEP683 Motivation: The PR introduces the ability to immortalize instances in CPython which bypasses reference counting. Tagging objects as immortal allows up to skip certain operations when we know that the object will be around for the entire execution of the runtime. Note that this by itself will bring a performance regression to the runtime due to the extra reference count checks. However, this brings the ability of having truly immutable objects that are useful in other contexts such as immutable data sharing between sub-interpreters.
* gh-102856: Initial implementation of PEP 701 (#102855)Pablo Galindo Salgado2023-04-192-0/+3
| | | | | | Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com> Co-authored-by: Batuhan Taskaya <isidentical@gmail.com> Co-authored-by: Marta Gómez Macías <mgmacias@google.com> Co-authored-by: sunmy2019 <59365878+sunmy2019@users.noreply.github.com>
* gh-95299: Stop installing setuptools as a part of ensurepip and venv (#101039)Pradyun Gedam2023-04-171-1/+1
| | | | | | | Remove the bundled setuptools wheel from ensurepip, and stop installing setuptools in environments created by venv. Co-Authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com> Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM> Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net>
* gh-103583: Add codecs and maps to _codecs_* module state (#103540)Erlend E. Aasland2023-04-171-2/+0
|
* gh-103326: Remove `Python/importlib.h` (GH-103331)Nikita Sobolev2023-04-121-1/+0
| | | | Co-authored-by: Brett Cannon <brett@python.org> Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
* gh-103092: Isolate `_collections` (#103093)Erlend E. Aasland2023-04-121-5/+0
| | | Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
* GH-103082: Implementation of PEP 669: Low Impact Monitoring for CPython ↵Mark Shannon2023-04-123-5/+8
| | | | | | | | | | (GH-103083) * The majority of the monitoring code is in instrumentation.c * The new instrumentation bytecodes are in bytecodes.c * legacy_tracing.c adapts the new API to the old sys.setrace and sys.setprofile APIs
* Remove redundant words from interpreter_definition.md. (GH-103455)Benjamin Peterson2023-04-111-3/+3
|
* gh-91276: remove unused _PyOpcode_RelativeJump (#103156)Irit Katriel2023-04-111-2/+0
|
* gh-103334: Ignore `Tools/c-analyzer/cpython/_parser.py` from `patchcheck` ↵Nikita Sobolev2023-04-102-2/+15
| | | | | | | (GH-103335) I've also added a small comment to `Tools/c-analyzer/cpython/_parser.py` to trigger the `patchcheck` CI. It must pass now. Automerge-Triggered-By: GH:ericsnowcurrently
* gh-103300: Fix `Popen.wait()` deadlock in patchcheck.py (#103301)Oleg Iarygin2023-04-091-2/+3
|
* gh-103092: Isolate `socket` module (#103094)Erlend E. Aasland2023-04-091-6/+0
|
* gh-100176: Tools/iobench: Remove redundant compat code for Python <= 3.2 ↵Hugo van Kemenade2023-04-081-42/+54
| | | | | | (#100197) Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* gh-103092: Isolate `_pickle` module (#102982)Erlend E. Aasland2023-04-041-5/+0
| | | | Co-authored-by: Mohamed Koubaa <koubaa.m@gmail.com> Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
* gh-87092: move CFG related code from compile.c to flowgraph.c (#103021)Irit Katriel2023-03-312-3/+5
|