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 <rep...@bugs.python.org>
<http://bugs.python.org/issue27129>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to