[pypy-commit] pypy arm-backed-float: fix handling of datablocks

bivab noreply at buildbot.pypy.org
Tue May 24 14:06:54 CEST 2011


Author: David Schneider <david.schneider at picle.org>
Branch: arm-backed-float
Changeset: r44403:1a34a708018c
Date: 2011-05-24 14:18 +0200
http://bitbucket.org/pypy/pypy/changeset/1a34a708018c/

Log:	fix handling of datablocks

diff --git a/pypy/jit/backend/arm/assembler.py b/pypy/jit/backend/arm/assembler.py
--- a/pypy/jit/backend/arm/assembler.py
+++ b/pypy/jit/backend/arm/assembler.py
@@ -83,14 +83,14 @@
         self.current_clt = looptoken.compiled_loop_token
         self.mc = ARMv7Builder()
         self.guard_descrs = []
-        self.blocks = []
+        assert self.datablockwrapper is None
+        allblocks = self.get_asmmemmgr_blocks(looptoken)
         self.datablockwrapper = MachineDataBlockWrapper(self.cpu.asmmemmgr,
-                                                            self.blocks)
+                                                        allblocks)
 
     def teardown(self):
         self.current_clt = None
         self._regalloc = None
-        self.datablockwrapper.done()
         self.mc = None
         self.guard_descrs = None
 
@@ -607,9 +607,9 @@
         self.teardown()
 
     def materialize_loop(self, looptoken):
+        self.datablockwrapper.done()      # finish using cpu.asmmemmgr
+        self.datablockwrapper = None
         allblocks = self.get_asmmemmgr_blocks(looptoken)
-        for block in self.blocks:
-            allblocks.append(block)
         return self.mc.materialize(self.cpu.asmmemmgr, allblocks,
                                    self.cpu.gc_ll_descr.gcrootmap)
 


More information about the pypy-commit mailing list