mpage
0d29302155
gh-117657: Quiet erroneous TSAN reports of data races in `_PySeqLock` ( #117955 )
...
Quiet erroneous TSAN reports of data races in `_PySeqLock`
TSAN reports a couple of data races between the compare/exchange in
`_PySeqLock_LockWrite` and the non-atomic loads in `_PySeqLock_{Abandon,Unlock}Write`.
This is another instance of TSAN incorrectly modeling failed compare/exchange
as a write instead of a load.
2024-04-17 17:19:28 +00:00
mpage
b6c62c79e7
gh-117657: Fix data races in the method cache in free-threaded builds ( #117954 )
...
Fix data races in the method cache in free-threaded builds
These are technically data races, but I think they're benign (to
the extent that that is actually possible). We update cache entries
non-atomically but read them atomically from another thread, and there's
nothing that establishes a happens-before relationship between the
reads and writes that I can see.
2024-04-17 09:42:56 -07:00
Irit Katriel
c179c0e6cb
gh-117680: make _PyInstructionSequence a PyObject and use it in tests ( #117629 )
2024-04-17 16:42:04 +01:00
Jeff Glass
acf69e09c6
gh-115178: Add Counts of UOp Pairs to pystats (GH-115181)
2024-04-16 14:27:18 +01:00
neonene
c520bf9bdf
gh-117613: Argument Clinic: ensure that 'defining_class' params are positional-only ( #117781 )
2024-04-16 09:52:45 +00:00
mpage
47832067da
gh-117657: Add TSAN suppressions for the free-threaded build ( #117736 )
...
Additionally, reduce the iterations for a few weakref tests that would
otherwise take a prohibitively long amount of time (> 1 hour) when TSAN
is enabled and the GIL is disabled.
2024-04-15 12:08:25 -04:00
Victor Stinner
671cb22094
gh-113317: Add ParseArgsCodeGen class ( #117707 )
2024-04-11 13:49:07 +00:00
Victor Stinner
a2ae84726b
gh-113317: Add Codegen class to Argument Clinic ( #117626 )
...
* Move ifndef_symbols, includes and add_include() from Clinic to
Codegen. Add a 'codegen' (Codegen) attribute to Clinic.
* Remove libclinic.crenderdata module: move code to libclinic.codegen.
* BlockPrinter.print_block(): remove unused 'limited_capi' argument.
Remove also 'core_includes' parameter.
* Add get_includes() methods.
* Make Codegen.ifndef_symbols private.
* Make Codegen.includes private.
* Make CConverter.includes private.
2024-04-11 12:15:48 +02:00
neonene
ef4118222b
gh-117142: Port _ctypes to multi-phase init (GH-117181)
2024-04-10 11:00:01 +00:00
Erlend E. Aasland
0d42ac9474
gh-117431: Argument Clinic: copy forced text signature when cloning ( #117591 )
2024-04-10 10:12:05 +02:00
Victor Stinner
e1eeb990bd
gh-113317: Remove unused INVALID constant in Argument Clinic ( #117624 )
2024-04-08 09:51:20 +02:00
Ken Jin
375425abd1
Cases generator: Remove type_prop and passthrough ( #117614 )
2024-04-08 06:26:52 +08:00
Brandt Bucher
62aeb0ee69
GH-117512: Allow 64-bit JIT operands on 32-bit platforms (GH-117527)
2024-04-06 08:26:43 -07:00
Michael Droettboom
0edde64a41
GH-117457: Correct pystats uop "miss" counts (GH-117477)
2024-04-04 15:49:18 -07:00
Guido van Rossum
060a96f1a9
gh-116968: Reimplement Tier 2 counters ( #117144 )
...
Introduce a unified 16-bit backoff counter type (``_Py_BackoffCounter``),
shared between the Tier 1 adaptive specializer and the Tier 2 optimizer. The
API used for adaptive specialization counters is changed but the behavior is
(supposed to be) identical.
The behavior of the Tier 2 counters is changed:
- There are no longer dynamic thresholds (we never varied these).
- All counters now use the same exponential backoff.
- The counter for ``JUMP_BACKWARD`` starts counting down from 16.
- The ``temperature`` in side exits starts counting down from 64.
2024-04-04 15:03:27 +00:00
Victor Stinner
dc54714044
gh-113317: Finish splitting Argument Clinic into sub-files ( #117513 )
...
Add libclinic.parser module and move the following classes and
functions there:
* Parser
* PythonParser
* create_parser_namespace()
Add libclinic.dsl_parser module and move the following classes,
functions and variables there:
* ConverterArgs
* DSLParser
* FunctionNames
* IndentStack
* ParamState
* StateKeeper
* eval_ast_expr()
* unsupported_special_methods
Add libclinic.app module and move the Clinic class there.
Add libclinic.cli module and move the following functions there:
* create_cli()
* main()
* parse_file()
* run_clinic()
2024-04-04 11:09:40 +02:00
Victor Stinner
c43f6a4dfa
gh-113317: Argument Clinic: Add libclinic.clanguage ( #117455 )
...
Add libclinic.clanguage module and move the following classes and
functions there:
* CLanguage
* declare_parser()
Add libclinic.codegen and move the following classes there:
* BlockPrinter
* BufferSeries
* Destination
Move the following functions to libclinic.function:
* permute_left_option_groups()
* permute_optional_groups()
* permute_right_option_groups()
2024-04-03 18:17:51 +00:00
Erlend E. Aasland
ea94b3b149
gh-116303: Skip test module dependent tests if test modules are unavailable ( #117341 )
2024-04-03 15:11:36 +02:00
Victor Stinner
e3b6f287fc
gh-113317: Argument Clinic: Add libclinic.return_converters ( #117451 )
...
Move the following converter classes to libclinic.return_converters:
* CReturnConverter
* CReturnConverterAutoRegister
* Py_ssize_t_return_converter
* bool_return_converter
* double_return_converter
* float_return_converter
* int_return_converter
* long_return_converter
* size_t_return_converter
* unsigned_int_return_converter
* unsigned_long_return_converter
Move also the add_c_return_converter() function there.
2024-04-02 11:29:39 +00:00
Mark Shannon
c32dc47aca
GH-115776: Embed the values array into the object, for "normal" Python objects. (GH-116115)
2024-04-02 11:59:21 +01:00
Victor Stinner
5fd1897ec5
gh-113317: Argument Clinic: Add libclinic.converters module ( #117315 )
...
Move the following converter classes to libclinic.converters:
* PyByteArrayObject_converter
* PyBytesObject_converter
* Py_UNICODE_converter
* Py_buffer_converter
* Py_complex_converter
* Py_ssize_t_converter
* bool_converter
* byte_converter
* char_converter
* defining_class_converter
* double_converter
* fildes_converter
* float_converter
* int_converter
* long_converter
* long_long_converter
* object_converter
* self_converter
* short_converter
* size_t_converter
* slice_index_converter
* str_converter
* unicode_converter
* unsigned_char_converter
* unsigned_int_converter
* unsigned_long_converter
* unsigned_long_long_converter
* unsigned_short_converter
Move also the following classes to libclinic.converters:
* buffer
* robuffer
* rwbuffer
Move the following functions to libclinic.converters:
* correct_name_for_self()
* r()
* str_converter_key()
Move Null and NULL to libclinic.utils.
2024-04-02 10:09:53 +00:00
dependabot[bot]
348cf6e007
Bump mypy from 1.8.0 to 1.9.0 in /Tools ( #117418 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2024-04-01 11:14:37 +00:00
dependabot[bot]
9b403fb559
build(deps-dev): bump types-psutil from 5.9.5.20240205 to 5.9.5.20240316 in /Tools ( #117417 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2024-04-01 11:05:14 +00:00
dependabot[bot]
93c7d9d17b
build(deps-dev): bump types-setuptools from 69.1.0.20240301 to 69.2.0.20240317 in /Tools ( #117419 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-01 11:38:38 +01:00
Guido van Rossum
94c97423a9
Fix broken format in error for bad input in summarize_stats.py ( #117375 )
...
When you pass the script a non-existent input file, you get a TypeError instead of the intended ValueError.
2024-03-29 18:31:09 +00:00
Sam Gross
19c1dd60c5
gh-117323: Make `cell` thread-safe in free-threaded builds ( #117330 )
...
Use critical sections to lock around accesses to cell contents. The critical sections are no-ops in the default (with GIL) build.
2024-03-29 13:35:43 -04:00
neonene
7e2fef8658
gh-117142: ctypes: Migrate global vars to module state (GH-117189)
2024-03-29 10:40:48 +01:00
Michael Droettboom
26d328b2ba
GH-117121: Add pystats to JIT builds (GH-117346)
2024-03-28 15:23:08 -07:00
Victor Stinner
7aa89bc43e
gh-113317: Change how Argument Clinic lists converters ( #116853 )
...
* Add a new create_parser_namespace() function for
PythonParser to pass objects to executed code.
* In run_clinic(), list converters using 'converters' and
'return_converters' dictionarties.
* test_clinic: add 'object()' return converter.
* Use also create_parser_namespace() in eval_ast_expr().
Co-authored-by: Erlend E. Aasland <erlend@python.org>
2024-03-27 23:10:14 +01:00
Seth Michael Larson
669ef49c7d
gh-99108: Update and check HACL* version information (GH-117295)
...
* Update and check HACL* version information
2024-03-27 14:56:14 -07:00
Mark Shannon
bf82f77957
GH-116422: Tier2 hot/cold splitting (GH-116813)
...
Splits the "cold" path, deopts and exits, from the "hot" path, reducing the size of most jitted instructions, at the cost of slower exits.
2024-03-26 09:35:11 +00:00
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
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
Erlend E. Aasland
98ee4ecdbc
gh-113317: Argument Clinic: don't use fail() in CLI ( #115513 )
2024-02-15 12:10:32 +00:00
Erlend E. Aasland
32f8ab1ab6
gh-114258: Refactor Argument Clinic function name parser ( #114930 )
...
Refactor state_modulename_name() of the parsing state machine, by
adding helpers for the sections that deal with ...:
1. parsing the function name
2. normalizing "function kind"
3. dealing with cloned functions
4. resolving return converters
5. adding the function to the DSL parser
2024-02-15 09:45:21 +01:00
Brett Cannon
18343c0985
GH-113516: don't set `LDSHARED` when building for WASI (GH-115495)
2024-02-15 00:51:23 +00:00
Victor Stinner
3e7b7df5cb
gh-114570: Add PythonFinalizationError exception ( #115352 )
...
Add PythonFinalizationError exception. This exception derived from
RuntimeError is raised when an operation is blocked during the Python
finalization.
The following functions now raise PythonFinalizationError, instead of
RuntimeError:
* _thread.start_new_thread()
* subprocess.Popen
* os.fork()
* os.fork1()
* os.forkpty()
Morever, _winapi.Overlapped finalizer now logs an unraisable
PythonFinalizationError, instead of an unraisable RuntimeError.
2024-02-14 23:35:06 +01:00
Seth Michael Larson
889cc43cb1
gh-112302: Move pip SBOM discovery to release-tools ( #115360 )
2024-02-14 12:47:15 -07:00
Seth Michael Larson
4b2d1786cc
gh-115399: Upgrade bundled libexpat to 2.6.0 ( #115431 )
2024-02-14 16:29:06 +00:00
Eric Snow
514b1c91b8
gh-76785: Improved Subinterpreters Compatibility with 3.12 (gh-115424)
...
For the most part, these changes make is substantially easier to backport subinterpreter-related code to 3.12, especially the related modules (e.g. _xxsubinterpreters). The main motivation is to support releasing a PyPI package with the 3.13 capabilities compiled for 3.12.
A lot of the changes here involve either hiding details behind macros/functions or splitting up some files.
2024-02-13 14:56:49 -07:00
Ken Jin
7cce857622
gh-114058: Foundations of the Tier2 redundancy eliminator (GH-115085)
...
---------
Co-authored-by: Mark Shannon <9448417+markshannon@users.noreply.github.com>
Co-authored-by: Jules <57632293+JuliaPoo@users.noreply.github.com>
Co-authored-by: Guido van Rossum <gvanrossum@users.noreply.github.com>
2024-02-13 21:24:48 +08:00
Mark Shannon
8144661017
GH-113710: Fix updating of dict version tag and add watched dict stats (GH-115221)
2024-02-12 16:07:38 +00:00
Mark Shannon
8a3c499ffe
GH-108362: Revert "GH-108362: Incremental GC implementation (GH-108038)" ( #115132 )
...
Revert "GH-108362: Incremental GC implementation (GH-108038)"
This reverts commit 36518e69d7
.
2024-02-07 12:38:34 +00:00
Seth Michael Larson
4bf41879d0
gh-112302: Change 'licenseConcluded' field to 'NOASSERTION' ( #115038 )
2024-02-06 12:25:58 +02:00
Ned Deily
299e16ca0f
gh-109991: Update GitHub CI workflows to use OpenSSL 3.0.13. ( #115050 )
...
Also update multissltests to use 1.1.1w, 3.0.13, 3.1.5, and 3.2.1.
2024-02-05 21:10:11 -05:00
Erlend E. Aasland
09096a1647
gh-115015: Argument Clinic: fix generated code for METH_METHOD methods without params ( #115016 )
2024-02-05 21:49:17 +01:00
Mark Shannon
36518e69d7
GH-108362: Incremental GC implementation (GH-108038)
2024-02-05 18:28:51 +00:00
Nikita Sobolev
87cd20a567
gh-115026: Argument Clinic: handle PyBuffer_FillInfo errors in generated code ( #115027 )
2024-02-05 11:45:09 +01:00
Skip Montanaro
80734a6872
Update README.md ( #114974 )
...
Trivial edit
Co-authored-by: Carol Willing <carolcode@willingconsulting.com>
2024-02-04 00:16:30 +00:00
Kirill Podoprigora
f3cdd64de8
``Tools/cases_generator``: Fix typos and incorrect comments. ( #114892 )
2024-02-02 17:52:58 -08:00
Alex Waygood
920b89f627
Bump ruff to 0.2.0 ( #114932 )
2024-02-02 21:04:15 +00:00
Sam Gross
587d480203
gh-112529: Remove PyGC_Head from object pre-header in free-threaded build ( #114564 )
...
* gh-112529: Remove PyGC_Head from object pre-header in free-threaded build
This avoids allocating space for PyGC_Head in the free-threaded build.
The GC implementation for free-threaded CPython does not use the
PyGC_Head structure.
* The trashcan mechanism uses the `ob_tid` field instead of `_gc_prev`
in the free-threaded build.
* The GDB libpython.py file now determines the offset of the managed
dict field based on whether the running process is a free-threaded
build. Those are identified by the `ob_ref_local` field in PyObject.
* Fixes `_PySys_GetSizeOf()` which incorrectly incorrectly included the
size of `PyGC_Head` in the size of static `PyTypeObject`.
2024-02-01 12:29:19 -08:00
Kirill Podoprigora
6d7ad57385
Update outdated info in ``Tools/cases_generator/README.md`` ( #114844 )
2024-02-01 08:56:24 -08:00
dependabot[bot]
59ae215387
build(deps-dev): bump types-psutil from 5.9.5.17 to 5.9.5.20240106 in /Tools ( #114852 )
...
build(deps-dev): bump types-psutil in /Tools
Bumps [types-psutil](https://github.com/python/typeshed ) from 5.9.5.17 to 5.9.5.20240106.
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-psutil
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>
2024-02-01 10:50:08 +00:00
dependabot[bot]
93bfaa858c
build(deps): bump hypothesis from 6.92.2 to 6.97.4 in /Tools ( #114851 )
...
Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis ) from 6.92.2 to 6.97.4.
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases )
- [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.92.2...hypothesis-python-6.97.4 )
---
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>
2024-02-01 10:42:35 +00:00
dependabot[bot]
21c01a009f
build(deps-dev): bump types-setuptools from 69.0.0.0 to 69.0.0.20240125 in /Tools ( #114853 )
...
build(deps-dev): bump types-setuptools in /Tools
Bumps [types-setuptools](https://github.com/python/typeshed ) from 69.0.0.0 to 69.0.0.20240125.
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-setuptools
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>
2024-02-01 09:52:05 +00:00
Pablo Galindo Salgado
39d102c2ee
gh-113744: Add a new IncompleteInputError exception to improve incomplete input detection in the codeop module ( #113745 )
...
Signed-off-by: Pablo Galindo <pablogsal@gmail.com>
2024-01-30 16:21:30 +00:00
Sviatoslav Sydorenko (Святослав Сидоренко)
963904335e
GH-80789: Get rid of the ``ensurepip`` infra for many wheels ( #109245 )
...
Co-authored-by: vstinner@python.org
Co-authored-by: Pradyun Gedam <pradyunsg@gmail.com>
Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
2024-01-30 01:25:31 +00:00
Petr Viktorin
15fe8cea17
gh-91325: Skip Stable ABI checks with Py_TRACE_REFS special build (GH-92046)
...
Skip Stable ABI checks with Py_TRACE_REFS special build
This build is not compatible with Py_LIMITED_API nor with
the stable ABI.
2024-01-29 16:45:31 +01:00
Brandt Bucher
f6d9e5926b
GH-113464: Add a JIT backend for tier 2 (GH-113465)
...
Add an option (--enable-experimental-jit for configure-based builds
or --experimental-jit for PCbuild-based ones) to build an
*experimental* just-in-time compiler, based on copy-and-patch (https://fredrikbk.com/publications/copy-and-patch.pdf ).
See Tools/jit/README.md for more information on how to install the required build-time tooling.
2024-01-28 18:48:48 -08:00
Neil Schemenauer
7a7bce5a0a
gh-113055: Use pointer for interp->obmalloc state (gh-113412)
...
For interpreters that share state with the main interpreter, this points
to the same static memory structure. For interpreters with their own
obmalloc state, it is heap allocated. Add free_obmalloc_arenas() which
will free the obmalloc arenas and radix tree structures for interpreters
with their own obmalloc state.
Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
2024-01-26 19:38:14 -08:00
Seth Michael Larson
582d95e8bb
gh-114250: Fetch metadata for pip and its vendored dependencies from PyPI ( #114450 )
2024-01-26 09:48:13 +00:00
Michael Droettboom
ea3cd0498c
gh-114312: Collect stats for unlikely events (GH-114493)
2024-01-25 11:10:51 +00:00
Mark Shannon
981d172f7f
GH-112354: `END_FOR` instruction to only pop one value. (GH-114247)
...
* Compiler emits END_FOR; POP_TOP instead of END_FOR. To support tier 2 side exits in loops.
2024-01-24 15:10:17 +00:00
Sam Gross
5f1997896d
gh-112984: Fix link error on free-threaded Windows build (GH-114455)
...
The test_peg_generator test tried to link the python313_d.lib library,
which failed because the library is now named python313t_d.lib. The
underlying problem is that the "compiler" attribute was not set when
we call get_libraries() from distutils.
2024-01-23 18:05:15 +00:00
Erlend E. Aasland
e14930ff63
gh-113317: Don't use global clinic instance in bad_argument() ( #114330 )
...
Make it possible for a converter to have multiple includes, by collecting
them in a list on the converter instance. This implies converter includes
are added during template generation, so we have to add them to the
clinic instance at the end of the template generation instead of in the
beginning.
2024-01-23 11:07:56 +01:00
Michael Droettboom
e45bae7a45
GH-114448: Don't sort summarize_stats.py histograms by amount of change (GH-114449)
2024-01-22 11:45:15 -08:00
Brett Cannon
5cd9c6b1fc
Fix `wasi.py build` after adding the `clean` subcommand. ({GH-114447)
2024-01-22 10:28:57 -08:00
Brett Cannon
681e9e85a2
Add a `clean` subcommand to `Tools/wasm/wasi.py` (GH-114274)
2024-01-19 11:38:52 -08:00
Steve Dower
f56d132deb
gh-112984 Update Windows build and installer for free-threaded builds (GH-113129)
2024-01-17 21:52:23 +00:00
Erlend E. Aasland
7a0ac89b29
gh-114178: Fix generate_sbom.py for out-of-tree builds ( #114179 )
2024-01-17 17:25:39 +01:00
Brett Cannon
03f7839703
GH-114013: fix setting `HOSTRUNNER` for `Tools/wasm/wasi.py` (GH-114097)
...
Also fix tests found failing under a pydebug build of WASI thanks to `make test` working due to this change.
2024-01-16 11:36:41 -08:00
Mark Shannon
ac10947ba7
GH-112354: `_GUARD_IS_TRUE_POP` side-exits to target the next instruction, not themselves. (GH-114078)
2024-01-15 11:41:06 +00:00
Erlend E. Aasland
1709020e8e
gh-113317: Move FormatCounterFormatter into libclinic ( #114066 )
2024-01-15 00:09:26 +01:00
Erlend E. Aasland
5dbcdfdeb8
gh-113317: Move global utility functions into libclinic ( #113986 )
...
Establish Tools/clinic/libclinic/utils.py and move the following
functions over there:
- compute_checksum()
- create_regex()
- write_file()
2024-01-14 18:26:09 +00:00
Ken Jin
ac92527c08
gh-113710: Add types to the interpreter DSL ( #113711 )
...
Co-authored-by: Jules <57632293+JuliaPoo@users.noreply.github.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
2024-01-13 01:30:27 +08:00
Seth Michael Larson
e82b096335
gh-112302: Point core developers to SBOM devguide on errors ( #113490 )
...
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2024-01-10 19:21:04 +00:00
Serhiy Storchaka
b3d2427f22
gh-58032: Do not use argparse.FileType in module CLIs and scripts (GH-113649)
...
Open and close files manually. It prevents from leaking files,
preliminary creation of output files, and accidental closing of stdin
and stdout.
2024-01-10 15:07:19 +02:00
Rami
84d1f76092
gh-89532: Remove LibreSSL workarounds ( #28728 )
...
Remove LibreSSL specific workaround ifdefs from `_ssl.c` and delete the non-version-specific `_ssl_data.h` file (relevant for OpenSSL < 1.1.1, which we no longer support per PEP 644).
Co-authored-by: Christian Heimes <christian@python.org>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
2024-01-06 23:25:58 +00:00
Itamar Oren
178919cf21
gh-113258: Write frozen modules to the build tree on Windows (GH-113303)
...
This ensures the source directory is not modified at build time, and different builds (e.g. different versions or GIL vs no-GIL) do not have conflicts.
2024-01-03 17:30:20 +00:00
dependabot[bot]
4036e48d59
build(deps): bump hypothesis from 6.91.0 to 6.92.2 in /Tools ( #113615 )
...
Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis ) from 6.91.0 to 6.92.2.
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases )
- [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.91.0...hypothesis-python-6.92.2 )
---
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>
2024-01-01 09:42:44 +00:00
Erlend E. Aasland
7ab9efdd6a
gh-113299: Move cpp.py into libclinic ( #113526 )
2023-12-28 00:20:57 +01:00
Erlend E. Aasland
87295b4068
gh-113317: Rework Argument Clinic cpp.py error handling ( #113525 )
...
Rework error handling in the C preprocessor helper. Instead of monkey-
patching the cpp.Monitor.fail() method from within clinic.py, rewrite
cpp.py to use a subclass of the ClinicError exception. As a side-effect,
ClinicError is moved into Tools/clinic/libclinic/errors.py.
Yak-shaving in preparation for putting cpp.py into libclinic.
2023-12-27 21:43:19 +00:00
Donghee Na
e5cce70df7
gh-112532: Fix peg generator build.py for mimalloc build (gh-113492)
...
gh-112532: Fix peg generator for mimalloc build
2023-12-27 02:54:16 +09:00
Erlend E. Aasland
ca71987f4e
gh-113317: Move more formatting helpers into libclinic ( #113438 )
...
Move the following global helpers into libclinic:
- format_escape()
- normalize_snippet()
- wrap_declarations()
Also move strip_leading_and_trailing_blank_lines() and make it internal to libclinic.
2023-12-23 17:08:10 +00:00
Erlend E. Aasland
c3f92f6a75
gh-113317: Clean up Argument Clinic global namespace ( #113414 )
...
Split up clinic.py by establishing libclinic as a support package for
Argument Clinic. Get rid of clinic.py globals by either making them
class members, or by putting them into libclinic.
- Move INCLUDE_COMMENT_COLUMN to BlockPrinter
- Move NO_VARARG to CLanguage
- Move formatting helpers to libclinic
- Move some constants to libclinic (and annotate them as Final)
2023-12-23 00:37:39 +00:00
Erlend E. Aasland
9c3ddf31a3
gh-113317: Remove TextAccumulator type alias from clinic.py ( #113413 )
...
Clean-up after gh-113402.
2023-12-22 22:35:16 +00:00
Erlend E. Aasland
daa658aba5
gh-113317: Argument Clinic: tear out internal text accumulator APIs ( #113402 )
...
Replace the internal accumulator APIs by using lists of strings and join().
Yak-shaving for separating out formatting code into a separate file.
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-12-22 21:28:15 +01:00
Alex Waygood
7de9855410
Bump mypy to 1.8.0 ( #113385 )
2023-12-21 23:14:24 +00:00
Ronald Oussoren
df1eec3dae
gh-65701: document that freeze doesn't work with framework builds on macOS ( #113352 )
...
* gh-65701: document that freeze doesn't work with framework builds on macOS
The framework install is inherently incompatible with freeze. Document
that that freeze doesn't work with framework builds and bail out
early when trying to run freeze anyway.
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-12-21 16:28:00 +01:00
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