[pypy-commit] pypy inline-dict-ops: better I think

fijal noreply at buildbot.pypy.org
Wed Jun 22 19:55:11 CEST 2011


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: inline-dict-ops
Changeset: r45060:ddb0c8eda26c
Date: 2011-06-22 19:59 +0200
http://bitbucket.org/pypy/pypy/changeset/ddb0c8eda26c/

Log:	better I think

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
@@ -712,9 +712,9 @@
             assert isinstance(v_inst.concretetype.TO, lltype.GcArray)
             STRUCT = v_inst.concretetype.TO.OF
             assert isinstance(STRUCT, lltype.Struct)
-            sizedescr = self.cpu.sizeof(STRUCT)
+            arraydescr = self.cpu.arraydescrof(v_inst.concretetype.TO)
             fielddescr = self.cpu.fielddescrof(STRUCT, c_field.value)
-            args = [v_inst, v_index, sizedescr, fielddescr]
+            args = [v_inst, v_index, arraydescr, fielddescr]
             return SpaceOperation('getinteriorfield', args, op.result)
 
     def rewrite_op_setinteriorfield(self, op):
diff --git a/pypy/jit/codewriter/test/test_jtransform.py b/pypy/jit/codewriter/test/test_jtransform.py
--- a/pypy/jit/codewriter/test/test_jtransform.py
+++ b/pypy/jit/codewriter/test/test_jtransform.py
@@ -658,7 +658,7 @@
                         v_result)
     op1 = Transformer(FakeCPU()).rewrite_operation(op)
     assert op1.opname == 'getinteriorfield'
-    assert op1.args == [v, i, ('sizedescr', DICT.OF),
+    assert op1.args == [v, i, ('arraydescr', DICT),
                         ('fielddescr', DICT.OF, 'v')]
 
 def test_str_setinteriorfield():


More information about the pypy-commit mailing list