New issue 3093: Line numbers in bytecode are truncated to 8 bits
https://bitbucket.org/pypy/pypy/issues/3093/line-numbers-in-bytecode-are-truncated-to

Marius Gedminas:

I noticed that [code coverage analysis is 
wrong](https://github.com/nedbat/coveragepy/issues/839) on PyPy3.6 \(version 
7.1.1\).  This is either a bug in the `dis` module, or a bug in the `co_lnotab` 
generator, I’m not quite sure which.

To reproduce:

* git clone https://github.com/mgedmin/ghcloneall
* cd ghcloneall
* pypy3.6 -m dis ghcloneall.py

compare the line numbers shown by `pypy3.6 -m dis` with line numbers shown by 
`python3.6 -m dis`: 

* everything’s fine until line 97
* the LOAD\_BUILD\_CLASS for ‘Repo’ is supposed to be on line 348 but is 
instead shown to be on line 92 \(FWIW 348 == 92 \+ 256\)
* the next LOAD\_BUILD\_CLASS is on line 127 instead of 383
* this continues right until the end where we get line 190 instead of 958 \(958 
== 190 \+ 3\*256\)

All the line numbers in pypy3.6’s output are correct mod 256, but they all are 
shown to be under 256.

I cannot reproduce this with PyPy3.5 \(version 7.0.0\) or PyPy2.7 \(version 
7.1.0\).

‌


_______________________________________________
pypy-issue mailing list
pypy-issue@python.org
https://mail.python.org/mailman/listinfo/pypy-issue

Reply via email to