[pypy-commit] pypy arm-backend-2: make the backend work with the merged changes so that the tests can run
bivab
noreply at buildbot.pypy.org
Wed Jul 13 11:01:55 CEST 2011
Author: David Schneider <david.schneider at picle.org>
Branch: arm-backend-2
Changeset: r45528:7a98d4859cd7
Date: 2011-07-13 10:54 +0200
http://bitbucket.org/pypy/pypy/changeset/7a98d4859cd7/
Log: make the backend work with the merged changes so that the tests can
run
diff --git a/pypy/jit/backend/arm/arch.py b/pypy/jit/backend/arm/arch.py
--- a/pypy/jit/backend/arm/arch.py
+++ b/pypy/jit/backend/arm/arch.py
@@ -34,7 +34,7 @@
"pypy__arm_int_div", [lltype.Signed, lltype.Signed], lltype.Signed,
_callable=arm_int_div_emulator,
compilation_info=eci,
- _nowrapper=True, pure_function=True)
+ _nowrapper=True, elidable_function=True)
arm_uint_div_sign = lltype.Ptr(lltype.FuncType([lltype.Unsigned, lltype.Unsigned], lltype.Unsigned))
def arm_uint_div_emulator(a, b):
@@ -43,7 +43,7 @@
"pypy__arm_uint_div", [lltype.Unsigned, lltype.Unsigned], lltype.Unsigned,
_callable=arm_uint_div_emulator,
compilation_info=eci,
- _nowrapper=True, pure_function=True)
+ _nowrapper=True, elidable_function=True)
arm_int_mod_sign = arm_int_div_sign
@@ -60,5 +60,5 @@
"pypy__arm_int_mod", [lltype.Signed, lltype.Signed], lltype.Signed,
_callable=arm_int_mod_emulator,
compilation_info=eci,
- _nowrapper=True, pure_function=True)
+ _nowrapper=True, elidable_function=True)
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
@@ -84,9 +84,10 @@
self.datablockwrapper = None
def setup(self, looptoken, operations):
- self.cpu.gc_ll_descr.rewrite_assembler(self.cpu, operations)
+ self.current_clt = looptoken.compiled_loop_token
+ self.cpu.gc_ll_descr.rewrite_assembler(self.cpu,
+ operations, self.current_clt.allgcrefs)
assert self.memcpy_addr != 0, 'setup_once() not called?'
- self.current_clt = looptoken.compiled_loop_token
self.mc = ARMv7Builder()
self.pending_guards = []
assert self.datablockwrapper is None
@@ -556,6 +557,7 @@
def assemble_loop(self, inputargs, operations, looptoken, log):
clt = CompiledLoopToken(self.cpu, looptoken.number)
+ clt.allgcrefs = []
looptoken.compiled_loop_token = clt
self.setup(looptoken, operations)
More information about the pypy-commit
mailing list