From 060641d51160f6bf49a049bb677f8412b5a19de3 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Tue, 22 Apr 2003 06:49:11 +0000 Subject: Improved the bytecode optimizer. * Can now test for basic blocks. * Optimize inverted comparisions. * Optimize unary_not followed by a conditional jump. * Added a new opcode, NOP, to keep code size constant. * Applied NOP to previous transformations where appropriate. Note, the NOP would not be necessary if other functions were added to re-target jump addresses and update the co_lnotab mapping. That would yield slightly faster and cleaner bytecode at the expense of optimizer simplicity and of keeping it decoupled from the line-numbering structure. --- Lib/opcode.py | 2 ++ 1 file changed, 2 insertions(+) (limited to 'Lib/opcode.py') diff --git a/Lib/opcode.py b/Lib/opcode.py index cfde5f803b..15f92a740e 100644 --- a/Lib/opcode.py +++ b/Lib/opcode.py @@ -49,6 +49,8 @@ def_op('ROT_THREE', 3) def_op('DUP_TOP', 4) def_op('ROT_FOUR', 5) +def_op('NOP', 9) + def_op('UNARY_POSITIVE', 10) def_op('UNARY_NEGATIVE', 11) def_op('UNARY_NOT', 12) -- cgit v1.2.1