Author: David Schneider <david.schnei...@picle.org>
Branch: arm-backed-float
Changeset: r44607:77ab64b960a4
Date: 2011-05-27 17:36 +0200
http://bitbucket.org/pypy/pypy/changeset/77ab64b960a4/

Log:    (arigo, bivab) call rewrite_assembler before iterating over the
        operations

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
@@ -80,7 +80,8 @@
         self._regalloc = None
         self.datablockwrapper = None
 
-    def setup(self, looptoken):
+    def setup(self, looptoken, operations):
+        self.cpu.gc_ll_descr.rewrite_assembler(self.cpu, operations)
         assert self.memcpy_addr != 0, 'setup_once() not called?'
         self.current_clt = looptoken.compiled_loop_token
         self.mc = ARMv7Builder()
@@ -557,12 +558,12 @@
         debug_stop('jit-backend-ops')
     # cpu interface
     def assemble_loop(self, inputargs, operations, looptoken, log):
-        self._dump(operations)
 
         clt = CompiledLoopToken(self.cpu, looptoken.number)
         looptoken.compiled_loop_token = clt
 
-        self.setup(looptoken)
+        self.setup(looptoken, operations)
+        self._dump(operations)
         longevity = compute_vars_longevity(inputargs, operations)
         regalloc = Regalloc(longevity, assembler=self, 
frame_manager=ARMFrameManager())
 
@@ -600,8 +601,8 @@
 
     def assemble_bridge(self, faildescr, inputargs, operations,
                                                     original_loop_token, log):
+        self.setup(original_loop_token, operations)
         self._dump(operations, 'bridge')
-        self.setup(original_loop_token)
         assert isinstance(faildescr, AbstractFailDescr)
         code = faildescr._failure_recovery_code
         enc = rffi.cast(rffi.CCHARP, code)
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to