summaryrefslogtreecommitdiffstats
path: root/Misc
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2003-04-22 06:49:11 (GMT)
committerRaymond Hettinger <python@rcn.com>2003-04-22 06:49:11 (GMT)
commit060641d51160f6bf49a049bb677f8412b5a19de3 (patch)
tree1ad7d568e797a6387b7f0792f5286f901b8f4f32 /Misc
parent0c83348d5c110a6ca706219019e97d5cefe2fddb (diff)
downloadcpython-060641d51160f6bf49a049bb677f8412b5a19de3.zip
cpython-060641d51160f6bf49a049bb677f8412b5a19de3.tar.gz
cpython-060641d51160f6bf49a049bb677f8412b5a19de3.tar.bz2
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 'Misc')
-rw-r--r--Misc/NEWS7
1 files changed, 7 insertions, 0 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index 05f9ac6..2897793 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -294,6 +294,13 @@ Core and builtins
value, but according to PEP 237 it really needs to be 1 now. This
will be backported to Python 2.2.3 a well. (SF #660455)
+- Added several bytecode optimizations. Provides speed-ups to
+ inverted in/is tests, inverted jumps, while 1 loops, and jumps to
+ unconditional jumps.
+
+- Added a new opcode, NOP, which is used in some of the bytecode
+ transformations.
+
- int(s, base) sometimes sign-folds hex and oct constants; it only
does this when base is 0 and s.strip() starts with a '0'. When the
sign is actually folded, as in int("0xffffffff", 0) on a 32-bit