Author: Maciej Fijalkowski <fij...@gmail.com> Branch: Changeset: r45512:11343a789981 Date: 2011-07-12 14:50 +0200 http://bitbucket.org/pypy/pypy/changeset/11343a789981/
Log: merge diff --git a/pypy/jit/codewriter/jtransform.py b/pypy/jit/codewriter/jtransform.py --- a/pypy/jit/codewriter/jtransform.py +++ b/pypy/jit/codewriter/jtransform.py @@ -800,6 +800,13 @@ result[-1].result = op.result return result + def rewrite_op_direct_ptradd(self, op): + from pypy.rpython.lltypesystem import rffi + # xxx otherwise, not implemented: + assert op.args[0].concretetype == rffi.CCHARP + # + return SpaceOperation('int_add', [op.args[0], op.args[1]], op.result) + # ---------- # Long longs, for 32-bit only. Supported operations are left unmodified, # and unsupported ones are turned into a call to a function from diff --git a/pypy/jit/codewriter/test/test_flatten.py b/pypy/jit/codewriter/test/test_flatten.py --- a/pypy/jit/codewriter/test/test_flatten.py +++ b/pypy/jit/codewriter/test/test_flatten.py @@ -813,6 +813,15 @@ int_return %i0 """, transform=True) + def test_direct_ptradd(self): + from pypy.rpython.lltypesystem import rffi + def f(p, n): + return lltype.direct_ptradd(p, n) + self.encoding_test(f, [lltype.nullptr(rffi.CCHARP.TO), 123], """ + int_add %i0, %i1 -> %i2 + int_return %i2 + """, transform=True) + def check_force_cast(FROM, TO, operations, value): """Check that the test is correctly written...""" _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit