[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