diff options
author | Raymond Hettinger <python@rcn.com> | 2003-04-22 06:49:11 +0000 |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2003-04-22 06:49:11 +0000 |
commit | 559061965b3f79aa08fdece81bd40e93353dc390 (patch) | |
tree | ae5ec9f415b04bc130cd76fe7cf2fc0437bcbe6a /Include/opcode.h | |
parent | 6eabb997182e86ccf04b3196ceb282b0e40bde46 (diff) | |
download | cpython-559061965b3f79aa08fdece81bd40e93353dc390.tar.gz |
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.
Diffstat (limited to 'Include/opcode.h')
-rw-r--r-- | Include/opcode.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/Include/opcode.h b/Include/opcode.h index 2f3dd04ba4..9f7d263e66 100644 --- a/Include/opcode.h +++ b/Include/opcode.h @@ -14,6 +14,8 @@ extern "C" { #define DUP_TOP 4 #define ROT_FOUR 5 +#define NOP 9 + #define UNARY_POSITIVE 10 #define UNARY_NEGATIVE 11 #define UNARY_NOT 12 |