[pypy-commit] pypy stm-gc: Support stm_getinteriorfield.

arigo noreply at buildbot.pypy.org
Sat Feb 11 17:37:30 CET 2012


Author: Armin Rigo <arigo at tunes.org>
Branch: stm-gc
Changeset: r52377:be298a75c78f
Date: 2012-02-11 16:37 +0000
http://bitbucket.org/pypy/pypy/changeset/be298a75c78f/

Log:	Support stm_getinteriorfield.

diff --git a/pypy/translator/stm/funcgen.py b/pypy/translator/stm/funcgen.py
--- a/pypy/translator/stm/funcgen.py
+++ b/pypy/translator/stm/funcgen.py
@@ -10,7 +10,7 @@
     cresulttypename = cdecl(resulttypename, '')
     newvalue = funcgen.expr(op.result, special_case_void=False)
     #
-    assert T is not lltype.Void     # XXX
+    assert T is not lltype.Void
     fieldsize = rffi.sizeof(T)
     assert fieldsize in (1, 2, 4, 8)
     if T == lltype.Float:
@@ -52,9 +52,10 @@
     return _stm_generic_get(funcgen, op, access_info)
 
 def stm_getinteriorfield(funcgen, op):
-    xxx
+    ptr = funcgen.expr(op.args[0])
     expr = funcgen.interior_expr(op.args)
-    return _stm_generic_get(funcgen, op, expr)
+    access_info = (None, ptr, expr)
+    return _stm_generic_get(funcgen, op, access_info)
 
 
 def stm_become_inevitable(funcgen, op):


More information about the pypy-commit mailing list