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