• Jeffrey Yasskin's avatar
    Issue #6042: · 655d8354
    Jeffrey Yasskin yazdı
    lnotab-based tracing is very complicated and isn't documented very well.  There
    were at least 3 comment blocks purporting to document co_lnotab, and none did a
    very good job. This patch unifies them into Objects/lnotab_notes.txt which
    tries to completely capture the current state of affairs.
    
    I also discovered that we've attached 2 layers of patches to the basic tracing
    scheme. The first layer avoids jumping to instructions that don't start a line,
    to avoid problems in if statements and while loops.  The second layer
    discovered that jumps backward do need to trace at instructions that don't
    start a line, so it added extra lnotab entries for 'while' and 'for' loops, and
    added a special case for backward jumps within the same line. I replaced these
    patches by just treating forward and backward jumps differently.
    655d8354
Adı
Son kayıt (commit)
Son güncelleme
Demo Loading commit data...
Doc Loading commit data...
Grammar Loading commit data...
Include Loading commit data...
Lib Loading commit data...
Mac Loading commit data...
Misc Loading commit data...
Modules Loading commit data...
Objects Loading commit data...
PC Loading commit data...
PCbuild Loading commit data...
Parser Loading commit data...
Python Loading commit data...
RISCOS Loading commit data...
Tools Loading commit data...
.bzrignore Loading commit data...
.hgignore Loading commit data...
.hgtags Loading commit data...
LICENSE Loading commit data...
Makefile.pre.in Loading commit data...
README Loading commit data...
configure Loading commit data...
configure.in Loading commit data...
install-sh Loading commit data...
pyconfig.h.in Loading commit data...
setup.py Loading commit data...