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