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, brett.cannon, rhettinger, serhiy.storchaka, vstinner
Date 2016-05-29.18:40:46
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1464547247.03.0.841671491121.issue27129@psf.upfronthosting.co.za>
In-reply-to
Content
word-jump-offsets.patch doesn't simplify the code, but rather complicates it, because this is minimal patch that doesn't include the refactoring. The main benefit of this patch is that it extends the range addressed by short jump instruction. The other benefit is that the target of jump instruction is now always point at instruction boundary.

wordcode2.patch includes refactoring and other changes:

* Changes jump offsets. This extends addressed range and can make co_code more compact.
* Changes co_lnotab. This can make co_lnotab more compact.
* Changes f_lasti.
* Changes the disassembler.
* Refactors the C code (makes it codeunit-oriented instead of byte-oriented). Simplifies the code complicated by other changes.

I can provide these steps by separate patches (word-jump-offsets.patch is the first of them), but every separate patch can temporary complicate the code. Three of these changes (except the disassembler changing and refactoring) break the compatibility of pyc-files and need incrementing the magic number.
History
Date User Action Args
2016-05-29 18:40:47serhiy.storchakasetrecipients: + serhiy.storchaka, brett.cannon, rhettinger, vstinner, Demur Rumed
2016-05-29 18:40:47serhiy.storchakasetmessageid: <1464547247.03.0.841671491121.issue27129@psf.upfronthosting.co.za>
2016-05-29 18:40:47serhiy.storchakalinkissue27129 messages
2016-05-29 18:40:46serhiy.storchakacreate