classification
Title: Eliminate NOPs in the assembler, by emitting zero-width entries in the line number table
Type: performance Stage: needs patch
Components: Interpreter Core Versions: Python 3.10
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Mark.Shannon Nosy List: Mark.Shannon
Priority: normal Keywords:

Created on 2020-12-22 14:08 by Mark.Shannon, last changed 2020-12-22 14:08 by Mark.Shannon.

Messages (1)
msg383590 - (view) Author: Mark Shannon (Mark.Shannon) * (Python committer) Date: 2020-12-22 14:08
This will require a change to the internal line number table format.

PEP 626 requires all lines are traced, which makes handling of 'continue' and other jump-to-jumps inefficient if spread across multiple lines.

In 3.9 many jump-to-jumps were eliminated, but PEP 626 requires that many are converted to a NOP. Zero-width line number table entries will allow us to eliminate most, if not all, remaining NOPs in the assembler.
History
Date User Action Args
2020-12-22 14:08:13Mark.Shannoncreate