Mark Shannon
723f4d6698
GH-111485: Delete the old generator code. (GH-113321)
2023-12-21 12:46:28 +00:00
Erlend E. Aasland
fae096cd4b
gh-113336: Remove the 'version' directive from Argument Clinic ( #113341 )
...
The 'version' directive was introduced with gh-63929 in Nov 2013. It has
not been in use in the CPython code base, and the 'version' variable has
never been bumped.
2023-12-21 13:10:41 +01:00
Erlend E. Aasland
4b90b5d857
Docs: update URL in Argument Clinic CLI help text ( #113351 )
...
The Argument Clinic docs was moved to the devguide earlier in 2023.
2023-12-21 09:28:43 +00:00
Guido van Rossum
713e42822f
GH-111485: Fix DEFAULT_OUTPUT in opcode_metadata_generator.py ( #113324 )
2023-12-20 10:05:48 -08:00
Seth Michael Larson
b221e03010
gh-113257: Automatically generate pip SBOM metadata from wheel ( #113295 )
...
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-12-20 17:28:20 +00:00
Mark Shannon
de8a4e52a5
GH-111485: Generate `TARGET` table for computed goto dispatch. (GH-113319)
2023-12-20 15:09:12 +00:00
Mark Shannon
e96f26083b
GH-111485: Generate instruction and uop metadata (GH-113287)
2023-12-20 14:27:25 +00:00
Donghee Na
57b7e52790
gh-112205: Support docstring for `@getter` ( #113160 )
...
---------
Co-authored-by: Erlend E. Aasland <erlend@python.org>
2023-12-20 21:52:12 +09:00
Erlend E. Aasland
6a69b80d1b
gh-112205: Require @getter and @setter to be methods ( #113278 )
...
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-12-19 12:32:28 +01:00
Seth Michael Larson
4658464e9c
gh-113257: Fix SBOM metadata for pip 23.3.2 ( #113262 )
...
Fix SBOM metadata for pip 23.3.2
2023-12-19 08:34:53 +02:00
Mark Shannon
70d378cdaa
GH-111485: Break up instructions with unused cache entries into component micro-ops (GH-113169)
2023-12-18 13:16:45 +00:00
Mark Shannon
771903596b
GH-111485: Test the new cases generator (GH-113252)
2023-12-18 11:14:40 +00:00
Stéphane Bidoul
4a24bf9a13
gh-113246: Updated bundled pip to 23.3.2 (gh-113249)
...
Updated bundled pip to 23.3.2
2023-12-18 10:21:46 +00:00
Mark Shannon
e24eccbc1c
GH-111485: Sort metadata tables for easier checking of future diffs (GH-113101)
2023-12-14 16:41:52 +00:00
Serhiy Storchaka
29f7eb4859
gh-59616: Support os.chmod(follow_symlinks=True) and os.lchmod() on Windows (GH-113049)
2023-12-14 13:28:37 +02:00
Steve Dower
79dad03747
gh-111650: Ensure pyconfig.h includes Py_GIL_DISABLED on Windows (GH-112778)
2023-12-13 15:38:45 +00:00
Donghee Na
498a096a51
gh-112205: Support `@setter` annotation from AC (gh-112922)
...
---------
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-12-13 14:00:34 +00:00
Mark Shannon
9263173280
Fix whitespace in generated code
2023-12-13 12:31:41 +00:00
Guido van Rossum
7316dfb0eb
gh-112320: Implement on-trace confidence tracking for branches ( #112321 )
...
We track the confidence as a scaled int.
2023-12-12 21:43:08 +00:00
Eric Snow
a49b427b02
gh-76785: More Fixes for test.support.interpreters (gh-113012)
...
This brings the module (along with the associated extension modules) mostly in sync with PEP 734. There are only a few small things to wrap up.
2023-12-12 17:43:30 +00:00
Eric Snow
86a77f4e1a
gh-76785: Fixes for test.support.interpreters (gh-112982)
...
This involves a number of changes for PEP 734.
2023-12-12 08:24:31 -07:00
Mark Shannon
0c55f27060
GH-111485: Factor out tier 2 code generation from the rest of the interpreter code generator (GH-112968)
2023-12-12 12:12:17 +00:00
Mark Shannon
c27e9d5d17
GH-111485: Factor out generation of uop IDs from cases generator. (GH-112877)
2023-12-11 14:14:36 +00:00
Brad Larsen
eb27c9a99e
Add a fuzzer for `Py_CompileStringExFlags` ( #111721 )
2023-12-10 12:16:15 -05:00
Jelle Zijlstra
1f9cd3c1e5
Argument Clinic: fix bare "type" in annotations ( #112915 )
...
Bare "type" in annotations should be equivalent to "type[Any]"; see
https://discuss.python.org/t/inconsistencies-between-type-and-type/37404
and python/mypy#16366 . It's better to use "type[object]", which is
safer and unambiguous.
2023-12-10 15:30:02 +00:00
Mark Shannon
aefdebdef1
GH-111485: Factor out opcode ID generator from the main cases generator. (GH-112831)
2023-12-08 11:48:30 +00:00
Seth Michael Larson
21221c398f
gh-112302: Add Software Bill-of-Materials (SBOM) tracking for dependencies ( #112303 )
2023-12-07 18:01:58 +02:00
Mark Shannon
b449415b2f
GH-111485: Separate out parsing, analysis and code-gen phases of tier 1 code generator (GH-112299)
2023-12-07 12:49:40 +00:00
Victor Stinner
d9e444dbb8
gh-106560: Fix redundant declarations in Python/frozen.c ( #112612 )
...
Avoid duplicated declarations of "extern" functions in
Python/frozen.c.
Compiler warnings seen by building Python with gcc -Wredundant-decls.
2023-12-03 12:18:24 +01:00
dependabot[bot]
847e4fe0e8
build(deps): bump hypothesis from 6.88.1 to 6.91.0 in /Tools ( #112580 )
...
Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis ) from 6.88.1 to 6.91.0.
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases )
- [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.88.1...hypothesis-python-6.91.0 )
---
updated-dependencies:
- dependency-name: hypothesis
dependency-type: direct:production
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>
2023-12-01 11:17:24 +00:00
Yang Hau
707c37e373
Fix typos in variable names, function names, and comments (GH-101868)
2023-12-01 09:37:40 +00:00
dependabot[bot]
467e3f9417
build(deps-dev): bump types-setuptools from 68.2.0.0 to 69.0.0.0 in /Tools ( #112582 )
...
build(deps-dev): bump types-setuptools in /Tools
Bumps [types-setuptools](https://github.com/python/typeshed ) from 68.2.0.0 to 69.0.0.0.
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-setuptools
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-01 09:29:04 +00:00
dependabot[bot]
19a86148e6
build(deps-dev): bump mypy from 1.7.0 to 1.7.1 in /Tools ( #112581 )
...
Bumps [mypy](https://github.com/python/mypy ) from 1.7.0 to 1.7.1.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md )
- [Commits](https://github.com/python/mypy/compare/v1.7.0...v1.7.1 )
---
updated-dependencies:
- dependency-name: mypy
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-01 09:21:45 +00:00
Brett Cannon
482b0ee8f6
Clarify that WASI tool requirements are included in the devcontainer (GH-112561)
2023-11-30 13:01:07 -08:00
Irit Katriel
07ebd46f9e
gh-112519: Make it possible to specify instruction flags for pseudo instructions in bytecodes.c ( #112520 )
2023-11-30 11:03:30 +00:00
Donghee Na
7eeea13403
gh-112205: Support @getter annotation from AC (gh-112396)
2023-11-30 19:40:53 +09:00
Brett Cannon
37589d76bb
GH-103065, GH-106704, GH-105253: Provide a `Tools/wasm/wasi.py` script to simplify doing a WASI build (GH-112473)
2023-11-29 16:18:25 -08:00
Donghee Na
4ec849bba8
gh-112213: Add missing declaration of target_critical_section (gh-112374)
...
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-11-25 00:58:39 +09:00
Mark Shannon
1619f4350e
GH-111485: Sort cases in the case generator output (GH-112315)
2023-11-22 15:19:50 +00:00
Guido van Rossum
8deb8bc2e5
gh-112287: Speed up Tier 2 (uop) interpreter a little ( #112286 )
...
This makes the Tier 2 interpreter a little faster.
I calculated by about 3%,
though I hesitate to claim an exact number.
This starts by doubling the trace size limit (to 512),
making it more likely that loops fit in a trace.
The rest of the approach is to only load
`oparg` and `operand` in cases that use them.
The code generator know when these are used.
For `oparg`, it will conditionally emit
```
oparg = CURRENT_OPARG();
```
at the top of the case block.
(The `oparg` variable may be referenced multiple times
by the instructions code block, so it must be in a variable.)
For `operand`, it will use `CURRENT_OPERAND()` directly
instead of referencing the `operand` variable,
which no longer exists.
(There is only one place where this will be used.)
2023-11-20 11:25:32 -08:00
Brett Cannon
56e59a49ae
GH-111807: Lower the parser stack depth under WASI debug builds ( #112225 )
2023-11-20 13:27:33 +00:00
Donghee Na
b8c952af72
gh-111903: Update AC to support "pycore_critical_section.h" header (gh-112251)
2023-11-19 10:13:58 +09:00
Donghee Na
e52cc80f7f
gh-112213: Add @critical_section target directive to Argument Clinic (gh-112232)
...
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-11-19 08:05:49 +09:00
Guido van Rossum
eb3c94ea66
gh-110319: Assert type_version != 0 before using it ( #112226 )
...
- Ensure that `assert(type_version != 0);` always comes *before* using `type_version`
Also:
- In cases_generator, rename `-v` to from `--verbose` to `--viable`
2023-11-17 20:58:13 -08:00
Guido van Rossum
da314f7c8d
A few more cases_generator cleanups ( #112220 )
2023-11-17 22:36:37 +00:00
Guido van Rossum
be0bd54c6b
gh-106529: Cleanups split off gh-112134 ( #112214 )
...
- Double max trace size to 256
- Add a dependency on executor_cases.c.h for ceval.o
- Mark `_SPECIALIZE_UNPACK_SEQUENCE` as `TIER_ONE_ONLY`
- Add debug output back showing the optimized trace
- Bunch of cleanups to Tools/cases_generator/
2023-11-17 11:49:42 -08:00
Nikita Sobolev
762eb58220
Remove `imp_dummy_def` from `Tools/c-analyzer/cpython/ignored.tsv` (gh-112122)
...
It was removed in 3.12, no need to keep the ignore.
2023-11-16 12:21:23 -07:00
Victor Stinner
d9fd33a869
gh-112088: Run autoreconf in GHA check_generated_files ( #112090 )
...
The "Check if generated files are up to date" job of GitHub Actions
now runs the "autoreconf -ivf -Werror" command instead of the "make
regen-configure" command to avoid depending on the external quay.io
server.
Add Tools/build/regen-configure.sh script to regenerate the configure
with an Ubuntu container image. The
"quay.io/tiran/cpython_autoconf:271" container image
(https://github.com/tiran/cpython_autoconf ) is no longer used.
2023-11-15 21:47:14 +01:00
Mark Shannon
4bbb367ba6
GH-111848: Set the IP when de-optimizing (GH-112065)
...
* Replace jumps with deopts in tier 2
* Fewer special cases of uop names
* Add target field to uop IR
* Remove more redundant SET_IP and _CHECK_VALIDITY micro-ops
* Extend whitelist of non-escaping API functions.
2023-11-15 15:48:58 +00:00
Sam Gross
324531df90
gh-111903: Add `@critical_section` directive to Argument Clinic. ( #111904 )
...
The `@critical_section` directive instructs Argument Clinic to generate calls
to `Py_BEGIN_CRITICAL_SECTION()` and `Py_END_CRITICAL_SECTION()` around the
bound function. In `--disable-gil` builds, these calls will lock and unlock
the `self` object. They are no-ops in the default build.
This is used in one place (`_io._Buffered.close`) as a demonstration.
Subsequent PRs will use it more widely in the `_io.Buffered` bindings.
2023-11-14 10:47:46 +00:00