| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
(GH-120330 (#120405)
[3.12] gh-93691: fix too broad source locations of for statement iterators (GH-120330).
(cherry picked from commit 97b69db167be28a33688db436551a6c3c3ea4662)
|
| | |
|
| |
|
|
|
|
| |
(GH-111369)
(cherry picked from commit a254120f2f1dd99fa64f12594d1ed19c67df7d64)
Co-authored-by: Tian Gao <gaogaotiantian@hotmail.com>
|
| |
|
|
| |
(cherry picked from commit 6640f1d8d2462ca0877e1d2789e1721767e9caf2)
Co-authored-by: Savannah Ostrowski <sostrowski@microsoft.com>
|
| |
|
|
|
|
|
| |
conditional block (#109384) (#109411)
gh-105658: fix excess trace events for except block ending with a conditional block (#109384)
(cherry picked from commit 4a54074a0f5579d417445ec28427cd0ed5aa01f4)
|
| |
|
|
|
|
|
|
| |
test_sys_settrace (GH-109075) (#109138)
gh-103186: Suppress RuntimeWarning about unclosed async iterator in test_sys_settrace (GH-109075)
(cherry picked from commit d485551c9d1792ff3539eef1d6374bd4c01dcd5d)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
|
| |
|
|
|
|
| |
gh-103186: Remove debug print in test_sys_settrace (GH-109077)
(cherry picked from commit e4bb0026b9a21d066e7a5c4716ea4d755b95d2d5)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
|
| |
|
|
|
|
|
|
|
|
| |
test_sys_settrace (GH-103244) (#109066)
gh-103186: Suppress and assert expected RuntimeWarnings in test_sys_settrace (GH-103244)
Caused as a result of frame manipulation where locals are never assigned / initialised.
(cherry picked from commit 3e53ac99038920550358c1ea0212c3907a8cb385)
Co-authored-by: Ijtaba Hussain <ijtabahussain@live.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
(GH-108421) (#108798)
gh-108416: Mark slow test methods with @requires_resource('cpu') (GH-108421)
Only mark tests which spend significant system or user time,
by itself or in subprocesses.
(cherry picked from commit f3ba0a74cd50274acdcd592d4ce8395b92492b7c)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
|
| | |
|
| |
|
|
| |
(GH-104579)
|
| |
|
|
|
|
|
|
| |
(GH-104387)
When monitoring LINE events, instrument all instructions that can have a predecessor on a different line.
Then check that the a new line has been hit in the instrumentation code.
This brings the behavior closer to that of 3.11, simplifying implementation and porting of tools.
|
| |
|
|
|
|
|
|
|
|
| |
(GH-103083)
* The majority of the monitoring code is in instrumentation.c
* The new instrumentation bytecodes are in bytecodes.c
* legacy_tracing.c adapts the new API to the old sys.setrace and sys.setprofile APIs
|
| | |
|
| |
|
|
|
| |
* Handle converting StopIteration to RuntimeError in bytecode.
* Add custom instruction for converting StopIteration into RuntimeError.
|
| |
|
|
|
|
|
|
|
|
| |
Make sys.setprofile() and sys.settrace() functions reentrant. They
can no long fail with: RuntimeError("Cannot install a trace function
while another trace function is being installed").
Make _PyEval_SetTrace() and _PyEval_SetProfile() functions reentrant,
rather than detecting and rejecting reentrant calls. Only delete the
reference to function arguments once the new function is fully set,
when a reentrant call is safe. Call also _PySys_Audit() earlier.
|
| |
|
|
| |
`test_sys_settrace.py` (GH-93234)
|
| | |
|
| |
|
|
| |
(GH-95110)
|
| |
|
|
| |
frame.f_lineno in the debugger. (GH-94958)
|
| |
|
|
|
|
|
| |
The case where there are more than (1 << 15) lines was not covered.
I don't know if increasing test coverage requires a blurb -- let me know if it does.
Automerge-Triggered-By: GH:brandtbucher
|
| |
|
|
|
|
|
| |
for blocks that have a line number (GH-94592)
Inlining of code that corresponds to source code lines, can make it hard to distinguish later between code which is only reachable from except handlers, and that which is reachable in normal control flow. This caused problems with the debugger's jump feature.
This PR turns off the inlining optimisation for code which has line numbers. We still inline things like the implicit "return None".
|
| |
|
|
|
| |
(GH-94511)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
|
| | |
|
| | |
|
| |
|
|
| |
(GH-92722)
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
- Add requires_fork and requires_subprocess to more tests
- Skip extension import tests if dlopen is not available
- Don't assume that _testcapi is a shared extension
- Skip a lot of socket tests that don't work on Emscripten
- Skip mmap tests, mmap emulation is incomplete
- venv does not work yet
- Cannot get libc from executable
The "entire" test suite is now passing on Emscripten with EMSDK from git head (91 suites are skipped).
|
| |
|
|
| |
(GH-30751)
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
after CFG optimization. (GH-27656)
|
| |
|
|
| |
blocks without line numbers (GH-27138)
|
| |
|
|
| |
artificial (GH-27109)
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
"Zero cost" exception handling.
* Uses a lookup table to determine how to handle exceptions.
* Removes SETUP_FINALLY and POP_TOP block instructions, eliminating (most of) the runtime overhead of try statements.
* Reduces the size of the frame object by about 60%.
|
| |
|
| |
* Set line number of __exit__ call in a with statement to be that of the with keyword.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
* Mark bytecodes at end of try-except as artificial.
* Make sure that the CFG is consistent throughout optimiization.
* Extend line-number propagation logic so that implicit returns after 'try-except' or 'with' have the correct line numbers.
* Update importlib
|
| |
|
|
|
|
|
| |
* Mark jumps at end of if and try statements as artificial.
* Update importlib
* Add comment explaining the purpose of ADDOP_JUMP_NOLINE.
|
| | |
|
| |
|
|
|
|
|
| |
* Mark reraise after except blocks as artificial.
* Update importlib
* Update dis test.
|
| |
|
|
|
|
|
|
|
| |
exiting via a finally block. (GH-23780)
* Make sure that return/break/continue are only traced once when exiting via a finally block.
* Add test for return in try-finally.
* Update importlib
|