Author: David Schneider <[email protected]>
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
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit