Closed
Description
Currently the POP_TOP
of a generator doesn't get a line number.
If we give it the same line number as the RETURN_GENERATOR
and RESUME
, that will reduce the size of the line number table.
The missing line number also got in my way while working on #109094.
>>> def f(): yield 42
...
>>> dis.dis(f)
1 0 RETURN_GENERATOR
None 2 POP_TOP
1 4 RESUME 0
6 LOAD_CONST 1 (42)
8 YIELD_VALUE 1
10 RESUME 1
12 POP_TOP
14 RETURN_CONST 0 (None)
None >> 16 CALL_INTRINSIC_1 3 (INTRINSIC_STOPITERATION_ERROR)
18 RERAISE 1
ExceptionTable:
4 to 14 -> 16 [0] lasti
Linked PRs
Metadata
Metadata
Assignees
Labels
No labels