[issue27129] Wordcode, part 2

Serhiy Storchaka report at bugs.python.org
Fri Jun 10 14:49:32 EDT 2016


Serhiy Storchaka added the comment:

This is not just about cleaning (to my eyes current code is not very readable, and I read it many times, perhaps more times than any other core developer in last months). There are other benefits. Changing jump offsets allows to get rid of EXTENDED_ARGs for the part of jump opcodes. Changing lnotab makes it more compact and allows the peepholer to optimize the code that it rejects now. Refactoring includes the change that decreases memory consumption of the peepholer (from 4 bytes per bytecode byte to 2 bytes per bytecode byte). Changing jump offsets together with changing f_lasti removes redundant multiplications and divisions by 2. Separate changes can complicate some parts of code, but next changes removes this complication. Only all changes together achieve maximal cleanness.

I think that converting to wordcode is not complete without these changes. I approved the wordcode patch only having in mind following changes. It is more painless to make all changes in one Python release than break compatibility during few releases.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue27129>
_______________________________________


More information about the Python-bugs-list mailing list