Brandt Bucher
424438b11e
GH-113464: Display a warning when building the JIT (GH-118481)
2024-05-01 21:35:49 +00:00
dependabot[bot]
1161ab9085
build(deps-dev): bump types-psutil from 5.9.5.20240316 to 5.9.5.20240423 in /Tools ( #118464 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-01 19:15:30 +00:00
dependabot[bot]
6d12f4469c
Bump types-setuptools from 69.2.0.20240317 to 69.5.0.20240423 in /Tools ( #118463 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-01 17:07:29 +01:00
dependabot[bot]
2d161cb899
Bump mypy from 1.9.0 to 1.10.0 in /Tools ( #118461 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-01 17:06:54 +01:00
Brandt Bucher
49baa656cb
GH-115802: Use the GHC calling convention in JIT code (GH-118287)
2024-05-01 08:05:53 -07:00
Guido van Rossum
7d83f7bcc4
gh-118335: Configure Tier 2 interpreter at build time ( #118339 )
...
The code for Tier 2 is now only compiled when configured
with `--enable-experimental-jit[=yes|interpreter]`.
We drop support for `PYTHON_UOPS` and -`Xuops`,
but you can disable the interpreter or JIT
at runtime by setting `PYTHON_JIT=0`.
You can also build it without enabling it by default
using `--enable-experimental-jit=yes-off`;
enable with `PYTHON_JIT=1`.
On Windows, the `build.bat` script supports
`--experimental-jit`, `--experimental-jit-off`,
`--experimental-interpreter`.
In the C code, `_Py_JIT` is defined as before
when the JIT is enabled; the new variable
`_Py_TIER2` is defined when the JIT *or* the
interpreter is enabled. It is actually a bitmask:
1: JIT; 2: default-off; 4: interpreter.
2024-04-30 18:26:34 -07:00
Seth Michael Larson
72dae53e09
gh-116122: Add SBOM generation to PCbuild/build.bat (GH-116138)
2024-04-30 16:05:05 +01:00
Savannah Ostrowski
8b56d82c59
GH-118306: Update JIT to use LLVM 18 (GH-118307)
2024-04-29 21:09:16 +00:00
Steve Dower
96d8ca7ad6
gh-118347: Fix Windows installer not updating launcher (GH-118386)
2024-04-29 21:46:25 +01:00
Alex Turner
2ba1aed596
gh-117657: TSAN fix race on gstate->young.count
( #118313 )
2024-04-29 20:26:26 +00:00
Xie Yanbo
c618d53a3a
Fix typo in Tools/wasm/README.md( #118358 )
2024-04-28 18:00:48 +01:00
Mark Shannon
3e06c7f719
GH-118095: Add dynamic exit support and FOR_ITER_GEN support to tier 2 (GH-118279)
2024-04-26 18:08:50 +01:00
mpage
a5eeb832c2
gh-117657: Fix race data race in _Py_IsOwnedByCurrentThread()
( #118258 )
2024-04-26 10:39:08 -04:00
Dino Viehland
5da0280648
gh-117657: Fixes a few small TSAN issues in dictobject ( #118200 )
...
Fixup TSAN errors for dict
2024-04-25 08:53:29 -07:00
mpage
cce5ae6082
gh-117657: Add a couple more TSAN suppressions ( #118256 )
2024-04-25 11:48:16 -04:00
mpage
f14e9f9154
gh-117657: Fix data race in _Py_IsImmortal
( #118261 )
...
The load of `ob_ref_local races with stores. Using a relaxed load is
sufficient; stores to the field are relaxed.
2024-04-25 11:31:57 -04:00
David Rubin
9b280ab0ab
gh-116988: Remove duplicates of annotated_rhs
in the Grammar ( #117004 )
2024-04-24 18:16:06 +01:00
Eric Snow
03e3e31723
gh-76785: Rename _xxsubinterpreters to _interpreters (gh-117791)
...
See https://discuss.python.org/t/pep-734-multiple-interpreters-in-the-stdlib/41147/26 .
2024-04-24 16:18:24 +00:00
Dino Viehland
8b541c017e
gh-112075: Make instance attributes stored in inline "dict" thread safe ( #114742 )
...
Make instance attributes stored in inline "dict" thread safe on free-threaded builds
2024-04-21 22:57:05 -07:00
Dino Viehland
07525c9a85
gh-116818: Make sys.settrace
, sys.setprofile
, and monitoring thread-safe ( #116775 )
...
Makes sys.settrace, sys.setprofile, and monitoring generally thread-safe.
Mostly uses a stop-the-world approach and synchronization around the code object's _co_instrumentation_version. There may be a little bit of extra synchronization around the monitoring data that's required to be TSAN clean.
2024-04-19 14:47:42 -07:00
Dino Viehland
1e4a4c4897
gh-117657: use relaxed loads for checking dict keys immortality ( #118067 )
...
Use relaxed load to check if dictkeys are immortal
2024-04-19 09:25:08 -07:00
Mark Shannon
d3bd6b5f3f
GH-115419: Improve list of escaping functions (GH-118054)
2024-04-19 09:25:07 +01:00
dependabot[bot]
6099fdf733
build(deps): bump hypothesis from 6.98.15 to 6.100.0 in /Tools ( #117416 )
...
Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis ) from 6.98.15 to 6.100.0.
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases )
- [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.98.15...hypothesis-python-6.100.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>
2024-04-18 22:23:49 -07:00
neonene
c1d7147c82
gh-117613: Argument Clinic: disallow defining class parameter at module level ( #117950 )
2024-04-17 22:43:29 +02:00
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