[issue4715] optimize bytecode for conditional branches
Antoine Pitrou
report at bugs.python.org
Wed Jan 14 12:25:40 CET 2009
Antoine Pitrou <pitrou at free.fr> added the comment:
Le mercredi 14 janvier 2009 à 02:48 +0000, Jeffrey Yasskin a écrit :
> Looking through the patch...
>
> I don't really like the names for JUMP_OR_POP and POP_OR_JUMP.
I don't like them either, they're the only relatively short ones I could
come up with. I'll change them to your proposal
(JUMP_IF_{TRUE,FALSE}_OR_POP).
> I wonder if BINARY_AND and BINARY_OR should get predictions ... not for
> this patch.
With the patch, I don't think they need predictions anymore.
> POP_JUMP_IF_TRUE is only used in one place: assertions. I wonder if
> anyone would cry if we compiled assertions to UNARY_NOT;
> POP_JUMP_IF_FALSE instead...
No, POP_JUMP_IF_TRUE is also used when optimizing the sequence
"UNARY_NOT; POP_JUMP_IF_FALSE" (think "if not x: ...").
> In compiler_comprehension_generator, "compiler_use_next_block(c, skip);"
> is now always followed by "compiler_use_next_block(c, if_cleanup);".
> Should you remove the use(skip) call?
I'll look at this.
> In peephole.c, s/JUMP_SIGN/JUMPS_ON_TRUE/ ?
Great, another stupid name disappears :)
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue4715>
_______________________________________
More information about the Python-bugs-list
mailing list