Thank you Brett, I am going to read the source code, I am going to give a presentation at PyCon.IE about this part and I wanted to be sure about the dead branches.
Thanks On 22 Oct 2015, at 19:02, Brett Cannon wrote: > On Thu, 22 Oct 2015 at 09:37 Stéphane Wirtel <steph...@wirtel.be> wrote: > >> Hi all, >> >> When we compile a python script >> >> # test.py >> if 0: >> x = 1 >> >> python -mdis test.py >> >> There is no byte code for the condition. >> >> So my question is, the byte code generator removes the unused functions, >> variables etc…, is it right? >> > > Technically the peepholer removes the dead branch, but since the peepholer > is run on all bytecode you can't avoid it. > > >> >> What are the cases where the generator does not generate the byte codes ? >> > > It's not specified anywhere; it's just what the peepholer decides to > remove. The exact code can be found at > https://hg.python.org/cpython/file/default/Python/peephole.c . There has > been talk in the past for adding a -X flag to disable the peepholer, but it > never went any farther beyond that. -- Stéphane Wirtel - http://wirtel.be - @matrixise
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com