[pypy-svn] pypy jit-virtual_state: box must be placed in info before recursing

hakanardo commits-noreply at bitbucket.org
Sat Feb 12 11:57:41 CET 2011


Author: Hakan Ardo <hakan at debian.org>
Branch: jit-virtual_state
Changeset: r41837:c9cedf3b5f68
Date: 2011-02-12 11:23 +0100
http://bitbucket.org/pypy/pypy/changeset/c9cedf3b5f68/

Log:	box must be placed in info before recursing

diff --git a/pypy/jit/metainterp/optimizeopt/unroll.py b/pypy/jit/metainterp/optimizeopt/unroll.py
--- a/pypy/jit/metainterp/optimizeopt/unroll.py
+++ b/pypy/jit/metainterp/optimizeopt/unroll.py
@@ -166,12 +166,11 @@
         except KeyError:
             value = self.getvalue(box)
             if value.is_virtual():
-                info = value.make_virtual_info(self, None)
+                self.info[box] = info = value.make_virtual_info(self, None)
                 flds = self.fieldboxes[box]
                 info.fieldstate = [self.state(b) for b in flds]
             else:
-                info = self.make_not_virtual(value)
-            self.info[box] = info 
+                self.info[box] = info = self.make_not_virtual(value)
         return info
 
     def get_virtual_state(self, jump_args):


More information about the Pypy-commit mailing list