| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
module (GH-133287)
* Track the current executor, not the previous one, on the thread-state.
* Batch executors for deallocation to avoid having to constantly incref executors; this is an ad-hoc form of deferred reference counting.
|
| |
|
|
| |
(#132622)
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Wingy <git@wingysam.xyz>
Co-authored-by: Koudai Aono <koxudaxi@gmail.com>
Co-authored-by: Dave Peck <davepeck@gmail.com>
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Co-authored-by: Paul Everitt <pauleveritt@me.com>
Co-authored-by: sobolevn <mail@sobolevn.me>
|
| |
|
|
| |
instruction offset (GH-132545)
|
| |
|
|
|
| |
(gh-133129)
This is triggering deadlocks in test_opcache. See GH-133130 for stack trace.
|
| |
|
|
|
|
|
|
| |
In the free-threaded build, avoid data races caused by updating type slots
or type flags after the type was initially created. For those (typically
rare) cases, use the stop-the-world mechanism. Remove the use of atomics
when reading or writing type flags. The use of atomics is not sufficient to
avoid races (since flags are sometimes read without a lock and without
atomics) and are no longer required.
|
| | |
|
| |
|
|
|
|
|
| |
with` (#132218)
Improve the error message with a suggestion when an object supporting the synchronous
(resp. asynchronous) context manager protocol is entered using `async with` (resp. `with`)
instead of `with` (resp. `async with`).
|
| |
|
|
|
|
|
|
| |
_PyEval_EvalFrameDefault (#132530)
Only disable SLP autovectorization of `_PyEval_EvalFrameDefault` on newer
GCCs, as the optimization bug seems to exist only on GCC 12 and later, and
before GCC 9 disabling the optimization has a dramatic performance impact.
|
| |
|
|
|
|
| |
assertions (GH-131625)
Fix recursive limit assertions on NetBSD for posix_spawn.
|
| |
|
|
|
| |
* Fix crash when passing a dict subclass to exec
* Add news entry
|
| |
|
|
| |
occurrence (GH-131900)
|
| |
|
|
|
|
|
|
|
| |
noinline (#132337)
Mark a few functions used by the interpreter loop as noinline
These are all the slow path and should not be inlined into the interpreter
loop. Unfortunately, they end up being inlined with LTO and the current PGO
task.
|
| |
|
|
|
| |
x86-64 (#132295)
The SLP autovectorizer can cause poor code generation for opcode dispatch, negating any benefit we get from vectorization elsewhere in the interpreter loop.
|
| | |
|
| |
|
|
|
|
|
| |
(#131844)
https://github.com/WebAssembly/wasi-libc/blob/e9524a0980b9bb6bb92e87a41ed1055bdda5bb86/libc-top-half/musl/src/internal/pthread_impl.h#L220
Signed-off-by: Filipe Laíns <lains@riseup.net>
|
| |
|
| |
Remove also now unused includes in C files.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
(#131088)
Implements a workaround implementation of `pthread_get_stackaddr_np` for Emscripten.
This will be replaced by an implementation that will be included in Emscripten 4.0.6.
|
| | |
|
| |
|
|
| |
Thread sanitizer will often crash if a test uses more than half the
stack.
|
| | |
|
| |
|
|
|
|
|
|
| |
The use of PySys_GetObject() and _PySys_GetAttr(), which return a borrowed
reference, has been replaced by using one of the following functions, which
return a strong reference and distinguish a missing attribute from an error:
_PySys_GetOptionalAttr(), _PySys_GetOptionalAttrString(),
_PySys_GetRequiredAttr(), and _PySys_GetRequiredAttrString().
|
| |
|
|
|
|
|
|
|
|
|
| |
* Implement C recursion protection with limit pointers for Linux, MacOS and Windows
* Remove calls to PyOS_CheckStack
* Add stack protection to parser
* Make tests more robust to low stacks
* Improve error messages for stack overflow
|
| |
|
|
|
|
|
|
|
| |
counters. (GH-130007)" for now (GH130413)
Revert "GH-91079: Implement C stack limits using addresses, not counters. (GH-130007)" for now
Unfortunatlely, the change broke some buildbots.
This reverts commit 2498c22fa0a2b560491bc503fa676585c1a603d0.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Implement C recursion protection with limit pointers
* Remove calls to PyOS_CheckStack
* Add stack protection to parser
* Make tests more robust to low stacks
* Improve error messages for stack overflow
|
| |
|
| |
Change Py_TAIL_CALL_INTERP ifndef to !
|
| |
|
| |
Co-authored-by: Zanie Blue <contact@zanie.dev>
|
| |
|
|
|
|
|
|
| |
* Handle escapes in DECREF_INPUTS
* Mark a few more functions as escaping
* Replace DECREF_INPUTS with PyStackRef_CLOSE where possible
|
| | |
|
| |
|
| |
Disable PGO for ceval.c on MSVC on default build
|
| |
|
| |
Revert commit 9e52e55
|
| |
|
|
| |
(#129700)
|
| | |
|
| | |
|
| |
|
|
|
| |
Co-authored-by: Garrett Gu <garrettgu777@gmail.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
|
| |
|
| |
Expand out SETLOCAL so that code generator can see the decref. Mark Py_CLEAR as escaping
|
| |
|
|
| |
interpreter. (GH-129525)
|
| |
|
| |
Simplify recursion check in _PyEval_EvalFrameDefault
|
| | |
|
| |
|
|
| |
(#128971)
|
| |
|
|
|
| |
* Remove compiler workaround
* Remote _Py_USING_PGO
|
| |
|
| |
remove unused DPRINTF in ceval.c
|
| |
|
|
|
| |
(GH-129132)
Change PyTuple_FromStackRefSteal and PyList_FromStackRefSteal to only steal on success to avoid escaping
|
| | |
|
| |
|
| |
Add new frame owner type for interpreter entry frames
|
| |
|
|
|
|
| |
(#128957)
We don't have the correct copy of the bytecode and can't update next_instr
appropriately, so just unwind.
|