[pypy-commit] pypy optresult-unroll: fix recursion here, that should finish all of metainterp/test

fijal noreply at buildbot.pypy.org
Fri Sep 4 15:22:45 CEST 2015


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: optresult-unroll
Changeset: r79420:50446eeb623f
Date: 2015-09-04 15:22 +0200
http://bitbucket.org/pypy/pypy/changeset/50446eeb623f/

Log:	fix recursion here, that should finish all of metainterp/test

diff --git a/rpython/jit/backend/llgraph/runner.py b/rpython/jit/backend/llgraph/runner.py
--- a/rpython/jit/backend/llgraph/runner.py
+++ b/rpython/jit/backend/llgraph/runner.py
@@ -105,8 +105,6 @@
         self.S = S
         self._vtable = vtable
         self._is_object = bool(vtable)
-        self.all_fielddescrs = heaptracker.all_fielddescrs(runner, S,
-                                    get_field_descr=LLGraphCPU.fielddescrof)
         self._runner = runner
 
     def get_all_fielddescrs(self):
@@ -443,6 +441,8 @@
         except KeyError:
             descr = SizeDescr(S, vtable, self)
             self.descrs[key] = descr
+            descr.all_fielddescrs = heaptracker.all_fielddescrs(self, S,
+                    get_field_descr=LLGraphCPU.fielddescrof)
         if descr._is_object and vtable is not Ellipsis:
             assert vtable
             heaptracker.testing_gcstruct2vtable.setdefault(S, vtable)


More information about the pypy-commit mailing list