| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
statements conform to PEP 626. (GH-23743)
|
|
|
|
| |
spurious line events. (GH-23761)
|
| |
|
|
|
| |
* Compiler: eliminate jumps to short exit blocks by copying.
|
|
|
| |
* Implement new line number table format, as defined in PEP 626.
|
|
|
| |
Remove PREDICTion of POP_BLOCK from FOR_ITER.
|
|
|
| |
* Move 'peephole' optimizations into compile.c and perform them directly on the CFG.
|
|
|
| |
More robust frame.setlineno. Makes no assumptions about source->bytecode translation.
|
| |
|
|
|
| |
When producing the bytecode of exception handlers with name binding (like `except Exception as e`) we need to produce a try-finally block to make sure that the name is deleted after the handler is executed to prevent cycles in the stack frame objects. The bytecode associated with this try-finally block does not have source lines associated and it was causing problems when the tracing functionality was running over it.
|
|
|
|
|
|
| |
code for normal and exceptional paths. (#6641)
Remove BEGIN_FINALLY, END_FINALLY, CALL_FINALLY and POP_FINALLY bytecodes. Implement finally blocks by code duplication.
Reimplement frame.lineno setter using line numbers rather than bytecode offsets.
|
|
|
|
|
|
|
| |
creating cycles (GH-17246)
Capturing exceptions into names can lead to reference cycles though the __traceback__ attribute of the exceptions in some obscure cases that have been reported previously and fixed individually. As these variables are not used anyway, we can remove the binding to reduce the chances of creating reference cycles.
See for example GH-13135
|
|
|
|
|
|
|
|
|
|
|
|
| |
syntax errors (GH-14612)
https://bugs.python.org/issue37500
Add a new field to the compiler structure that allows to be configured
so no bytecode is emitted. In this way is possible to detect errors by
walking the nodes while preserving optimizations.
https://bugs.python.org/issue37500
|
|
|
|
| |
tests (GH-7328)
|
|
|
|
| |
into/out of an except block.
|
|
|
|
|
|
|
|
| |
* Added new opcode END_ASYNC_FOR.
* Setting global StopAsyncIteration no longer breaks "async for" loops.
* Jumping into an "async for" loop is now disabled.
* Jumping out of an "async for" loop no longer corrupts the stack.
* Simplify the compiler.
|
| |
|
|
|
| |
(cherry picked from commit e32bbaf376a09c149fa7c7f2919d7c9ce4e2a055)
|
| |
|
|
|
|
|
|
|
|
|
| |
to compiler. (GH-5006)
Co-authored-by: Mark Shannon <mark@hotpy.org>
Co-authored-by: Antoine Pitrou <antoine@python.org>
|
|
|
| |
Move other test to more proper place.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* Fix multiple typos in code comments
* Add spacing in comments (test_logging.py, test_math.py)
* Fix spaces at the beginning of comments in test_logging.py
|
|
|
|
|
|
|
|
|
| |
f_trace_lines: enable/disable line trace events
f_trace_opcodes: enable/disable opcode trace events
These are intended primarily for testing of the interpreter
itself, as they make it much easier to emulate signals
arriving at unfortunate times.
|
|\
| |
| |
| | |
Patch by Xavier de Gaye.
|
| |
| |
| |
| | |
Patch by Xavier de Gaye.
|
|/
|
|
|
|
|
|
|
|
| |
* Constant statements will be ignored and the compiler will emit a
SyntaxWarning.
* Replace constant statement (ex: "1") with an expression statement
(ex: "x=1").
* test_traceback: use context manager on the file.
Issue #26204.
|
| |
|
|
|
|
| |
Patch by Ingrid Cheung and Brendan McLoughlin.
|
|\
| |
| |
| | |
Patch by Serhiy Storchaka.
|
| |
| |
| |
| | |
Patch by Serhiy Storchaka.
|
|\ \
| |/ |
|
| |
| |
| |
| | |
(closes #14612)
|
|\ \
| |/ |
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
| |
Many tests simply didn't care if they unset a pre-existing trace function. This
made test coverage impossible. This patch fixes various tests to put back any
pre-existing trace function. It also introduces test.support.no_tracing as a
decorator which will temporarily unset the trace function for tests which
simply fail otherwise.
Thanks to Kristian Vlaardingerbroek for helping to find the cause of various
trace function unsets.
|
|
test_profilehooks to test_sys_setprofile so that test_trace can be
used for testing the trace module and for naming consistency.
|