[Python-Dev] lnotab and the AST optimizer (original) (raw)
Thomas Lee tom at vector-seven.com
Thu Jul 24 18:23:00 CEST 2008
- Previous message: [Python-Dev] lnotab and the AST optimizer
- Next message: [Python-Dev] lnotab and the AST optimizer
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Antoine Pitrou wrote:
Thomas Lee <tom vector-seven.com> writes:
By the way, you were right about JUMPIFTRUE/JUMPIFFALSE. It's far too late. Apologies.
I'm still pretty sure this is the peepholer's doing, Yes indeed. Which is what's being achieved with the AST optimization I originally proposed, right? Well, not exactly, your optimization eliminates the UNARYNOT by swapping the if/else blocks, while the peepholer eliminates the UNARYNOT by fusing it with the subsequent jump opcode. In this case it doesn't make much of a difference, but if there is only an "if" without an "else", the peepholer's optimization is still possible while yours is not.
Unless a pass is injected into the if body, which will generate no additional bytecode and still have the same net effect.
(bottom line: the peepholer is not dead!)
We'll see ;)
Thanks for all your help, I'm looking forward to getting my hands on that patch.
Cheers, T
- Previous message: [Python-Dev] lnotab and the AST optimizer
- Next message: [Python-Dev] lnotab and the AST optimizer
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]