Author: Armin Rigo <[email protected]>
Branch: 
Changeset: r63093:2ec1ac5c5ef1
Date: 2013-04-06 10:52 +0200
http://bitbucket.org/pypy/pypy/changeset/2ec1ac5c5ef1/

Log:    Bug fix: don't use self.optimizer.propagate_forward(newop). It's
        .send_extra_operation() that is meant here...

diff --git a/rpython/jit/metainterp/optimizeopt/rewrite.py 
b/rpython/jit/metainterp/optimizeopt/rewrite.py
--- a/rpython/jit/metainterp/optimizeopt/rewrite.py
+++ b/rpython/jit/metainterp/optimizeopt/rewrite.py
@@ -456,7 +456,7 @@
                                       [op.getarg(1),
                                        ConstInt(index + source_start)], resbox,
                                        descr=arraydescr)
-                    self.optimizer.propagate_forward(newop)
+                    self.optimizer.send_extra_operation(newop)
                     val = self.getvalue(resbox)
                 if dest_value.is_virtual():
                     dest_value.setitem(index + dest_start, val)
diff --git a/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py 
b/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py
--- a/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py
+++ b/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py
@@ -7621,10 +7621,9 @@
         """
         expected = """
         [i1, i2]
+        # operations are not all removed because this new_array() is var-sized
         p1 = new_array(i1, descr=arraydescr)
-        # operations are not all removed because this new_array() is var-sized
-        # unsure exactly which operations should be left, but right now it's
-        # really buggy
+        setarrayitem_gc(p1, 0, i2, descr=arraydescr)
         jump(i1, i2)
         """
         self.optimize_loop(ops, expected)
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to