Author: Hakan Ardo <[email protected]>
Branch: jit-short_from_state
Changeset: r45940:1782e7a6c50a
Date: 2011-07-22 14:41 +0200
http://bitbucket.org/pypy/pypy/changeset/1782e7a6c50a/

Log:    dont generalize constants

diff --git a/pypy/jit/metainterp/optimizeopt/generalize.py 
b/pypy/jit/metainterp/optimizeopt/generalize.py
--- a/pypy/jit/metainterp/optimizeopt/generalize.py
+++ b/pypy/jit/metainterp/optimizeopt/generalize.py
@@ -10,6 +10,8 @@
 class KillHugeIntBounds(GeneralizationStrategy):
     def apply(self):
         for v in self.optimizer.values.values():
+            if v.is_constant():
+                continue
             if v.intbound.lower < MININT/2:
                 v.intbound.lower = MININT
             if v.intbound.upper > MAXINT/2:
diff --git a/pypy/jit/metainterp/optimizeopt/optimizer.py 
b/pypy/jit/metainterp/optimizeopt/optimizer.py
--- a/pypy/jit/metainterp/optimizeopt/optimizer.py
+++ b/pypy/jit/metainterp/optimizeopt/optimizer.py
@@ -155,6 +155,7 @@
         assert isinstance(constbox, Const)
         self.box = constbox
         self.level = LEVEL_CONSTANT
+        
         if isinstance(constbox, ConstInt):
             val = constbox.getint()
             self.intbound = IntBound(val, val)
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to