[pypy-commit] pypy ffi-backend: Fixes
arigo
noreply at buildbot.pypy.org
Sun Jul 29 22:51:57 CEST 2012
Author: Armin Rigo <arigo at tunes.org>
Branch: ffi-backend
Changeset: r56506:56d5a302013a
Date: 2012-07-29 20:46 +0000
http://bitbucket.org/pypy/pypy/changeset/56d5a302013a/
Log: Fixes
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
@@ -707,6 +707,16 @@
[v_inst, descr, v_value],
None)
+ def rewrite_op_getsubstruct(self, op):
+ STRUCT = op.args[0].concretetype.TO
+ argname = getattr(STRUCT, '_gckind', 'gc')
+ if argname != 'raw':
+ raise Exception("%r: only supported for gckind=raw" % (op,))
+ ofs = llmemory.offsetof(STRUCT, 'exchange_args')
+ return SpaceOperation('int_add',
+ [op.args[0], Constant(ofs, lltype.Signed)],
+ op.result)
+
def is_typeptr_getset(self, op):
return (op.args[1].value == 'typeptr' and
op.args[0].concretetype.TO._hints.get('typeptr'))
diff --git a/pypy/module/_cffi_backend/ctypefunc.py b/pypy/module/_cffi_backend/ctypefunc.py
--- a/pypy/module/_cffi_backend/ctypefunc.py
+++ b/pypy/module/_cffi_backend/ctypefunc.py
@@ -165,7 +165,7 @@
cerrno.restore_errno_from(ec)
clibffi.c_ffi_call(cif_descr.cif,
rffi.cast(rffi.VOIDP, funcaddr),
- resultdata,
+ rffi.cast(rffi.VOIDP, resultdata),
buffer_array)
e = cerrno.get_real_errno()
cerrno.save_errno_into(ec, e)
More information about the pypy-commit
mailing list