Author: Maciej Fijalkowski <[email protected]>
Branch: result-in-resops
Changeset: r58445:efa78ad453e4
Date: 2012-10-25 13:45 +0200
http://bitbucket.org/pypy/pypy/changeset/efa78ad453e4/

Log:    wuhu pass, the first test

diff --git a/pypy/jit/metainterp/optimizeopt/intbounds.py 
b/pypy/jit/metainterp/optimizeopt/intbounds.py
--- a/pypy/jit/metainterp/optimizeopt/intbounds.py
+++ b/pypy/jit/metainterp/optimizeopt/intbounds.py
@@ -32,7 +32,7 @@
         v = self.getforwarded(op)
         b = v.getintbound()
         if b.has_lower and b.has_upper and b.lower == b.upper:
-            v.make_constant(ConstInt(b.lower))
+            self.make_constant(v, ConstInt(b.lower))
         dispatch_bounds_ops(self, op)
 
     def postprocess_GUARD_TRUE(self, op):
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
@@ -472,7 +472,8 @@
         self._newoperations = []
 
     def make_constant(self, op, constbox):
-        self.getforwarded(op)._forwarded = constbox
+        if not op.is_constant():
+            self.getforwarded(op)._forwarded = constbox
 
     def make_constant_int(self, box, intvalue):
         self.getvalue(box).make_constant(ConstInt(intvalue))
@@ -527,7 +528,7 @@
                     break
             else:
                 self.emit_operation(op)
-            for opt in self.optimizations:
+            for opt in reversed(self.optimizations):
                 opt.postprocess_op(orig_op)
             i += 1
         self.loop.operations = self.get_newoperations()
@@ -562,9 +563,6 @@
         elif op.getopnum() == rop.FINISH:
             op = self.store_final_boxes_in_guard(op)
         assert op is not None
-        if op.getopnum() == rop.JUMP:
-            import pdb
-            pdb.set_trace()
         for i in range(op.numargs()):
             op.setarg(i, self.getforwarded(op.getarg(i)))
         self._newoperations.append(op)
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to