summaryrefslogtreecommitdiff
path: root/Include/opcode.h
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2003-04-22 06:49:11 +0000
committerRaymond Hettinger <python@rcn.com>2003-04-22 06:49:11 +0000
commit559061965b3f79aa08fdece81bd40e93353dc390 (patch)
treeae5ec9f415b04bc130cd76fe7cf2fc0437bcbe6a /Include/opcode.h
parent6eabb997182e86ccf04b3196ceb282b0e40bde46 (diff)
downloadcpython-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.h2
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