Author: Maciej Fijalkowski <[email protected]>
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
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit