This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author serhiy.storchaka
Recipients Demur Rumed, Mark.Shannon, brett.cannon, eric.fahlgren, rhettinger, serhiy.storchaka, vstinner
Date 2016-06-10.18:49:31
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1465584572.13.0.708302511973.issue27129@psf.upfronthosting.co.za>
In-reply-to
Content
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.
History
Date User Action Args
2016-06-10 18:49:32serhiy.storchakasetrecipients: + serhiy.storchaka, brett.cannon, rhettinger, vstinner, Mark.Shannon, eric.fahlgren, Demur Rumed
2016-06-10 18:49:32serhiy.storchakasetmessageid: <1465584572.13.0.708302511973.issue27129@psf.upfronthosting.co.za>
2016-06-10 18:49:32serhiy.storchakalinkissue27129 messages
2016-06-10 18:49:31serhiy.storchakacreate