Author: Maciej Fijalkowski <fij...@gmail.com>
Branch: optresult
Changeset: r75244:f5bc3c7a6d3d
Date: 2015-01-05 16:05 +0200
http://bitbucket.org/pypy/pypy/changeset/f5bc3c7a6d3d/

Log:    fix the test. unskip test that shows problem with our infrastructure
        (and let it fail for now)

diff --git a/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py 
b/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py
--- a/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py
+++ b/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py
@@ -2732,7 +2732,6 @@
         """
         self.optimize_loop(ops, expected)
         self.loop.inputargs[0].setref_base(self.nodeaddr)
-        py.test.skip("opt boxes don't inherit values, modify the test?")
         self.check_expanded_fail_descr('''
             p1.nextdescr = p2
             where p2 is a node_vtable, valuedescr=i2
diff --git a/rpython/jit/metainterp/optimizeopt/vstring.py 
b/rpython/jit/metainterp/optimizeopt/vstring.py
--- a/rpython/jit/metainterp/optimizeopt/vstring.py
+++ b/rpython/jit/metainterp/optimizeopt/vstring.py
@@ -415,9 +415,14 @@
             # if the original 'op' did not have a ConstInt as argument,
             # build a new one with the ConstInt argument
             if not isinstance(op.getarg(0), ConstInt):
-                op = self.replace_op_with(op, mode.NEWSTR, [length_box])
+                old_op = op
+                op = op.copy_and_change(mode.NEWSTR, [length_box])
+            else:
+                old_op = None
             vvalue = self.make_vstring_plain(op, mode)
             vvalue.setup(length_box.getint())
+            if old_op is not None:
+                self.optimizer.make_equal_to(old_op, vvalue)
         else:
             self.getvalue(op).ensure_nonnull()
             self.emit_operation(op)
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to