[Python-Dev] Generated Bytecode ...

Brett Cannon brett at python.org
Thu Oct 22 13:02:48 EDT 2015


On Thu, 22 Oct 2015 at 09:37 Stéphane Wirtel <stephane at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20151022/763e686f/attachment-0001.html>


More information about the Python-Dev mailing list