Author: Maciej Fijalkowski <[email protected]>
Branch: result-in-resops
Changeset: r57609:0f09c91a2cf9
Date: 2012-09-26 14:15 +0200
http://bitbucket.org/pypy/pypy/changeset/0f09c91a2cf9/
Log: more strconcat
diff --git a/pypy/jit/metainterp/optimizeopt/test/test_optimizebasic.py
b/pypy/jit/metainterp/optimizeopt/test/test_optimizebasic.py
--- a/pypy/jit/metainterp/optimizeopt/test/test_optimizebasic.py
+++ b/pypy/jit/metainterp/optimizeopt/test/test_optimizebasic.py
@@ -4048,7 +4048,7 @@
p1 = newstr(2)
strsetitem(p1, 0, i0)
strsetitem(p1, 1, i1)
- p3 = call(0, p1, p2, descr=strconcatdescr)
+ p3 = call_r(0, p1, p2, descr=strconcatdescr)
jump(i1, i0, p3)
"""
expected = """
diff --git a/pypy/jit/metainterp/optimizeopt/vstring.py
b/pypy/jit/metainterp/optimizeopt/vstring.py
--- a/pypy/jit/metainterp/optimizeopt/vstring.py
+++ b/pypy/jit/metainterp/optimizeopt/vstring.py
@@ -6,7 +6,8 @@
from pypy.jit.metainterp.optimizeopt.optimizer import llhelper, REMOVED
from pypy.jit.metainterp.optimizeopt.util import make_dispatcher_method
from pypy.jit.metainterp.resoperation import rop, Const, ConstInt, ConstPtr,\
- BoxInt, REF, INT, create_resop_1, create_resop_2, create_resop
+ BoxInt, REF, INT, create_resop_1, create_resop_2, create_resop,\
+ create_resop_3
from pypy.rlib.objectmodel import specialize, we_are_translated
from pypy.rlib.unroll import unrolling_iterable
from pypy.rpython import annlowlevel
@@ -182,10 +183,8 @@
charbox = charvalue.force_box(string_optimizer)
if not (isinstance(charbox, Const) and
charbox.same_constant(CONST_0)):
- op = ResOperation(mode.STRSETITEM, [targetbox,
- offsetbox,
- charbox],
- None)
+ op = create_resop_3(mode.STRSETITEM, None,
+ targetbox, offsetbox, charbox)
string_optimizer.emit_operation(op)
offsetbox = _int_add(string_optimizer, offsetbox, CONST_1)
return offsetbox
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit