[pypy-svn] r78877 - pypy/branch/arm-backend/pypy/jit/backend/arm

david at codespeak.net david at codespeak.net
Mon Nov 8 17:04:06 CET 2010


Author: david
Date: Mon Nov  8 17:04:04 2010
New Revision: 78877

Modified:
   pypy/branch/arm-backend/pypy/jit/backend/arm/assembler.py
Log:
Fix a bug when calling functions and placing the sp incorrectly

Modified: pypy/branch/arm-backend/pypy/jit/backend/arm/assembler.py
==============================================================================
--- pypy/branch/arm-backend/pypy/jit/backend/arm/assembler.py	(original)
+++ pypy/branch/arm-backend/pypy/jit/backend/arm/assembler.py	Mon Nov  8 17:04:04 2010
@@ -146,7 +146,7 @@
         # XXX free this memory
         # XXX allocate correct amount of memory
         mem = lltype.malloc(rffi.CArray(lltype.Char), (len(args)+5)*4, flavor='raw')
-        self.encode32(mem, 0, regalloc.frame_manager.frame_depth-1)
+        self.encode32(mem, 0, regalloc.frame_manager.frame_depth)
         i = 0
         j = 4
         while(i < len(args)):
@@ -264,7 +264,7 @@
         cb = ARMv7InMemoryBuilder(addr, ARMv7InMemoryBuilder.size_of_gen_load_int)
         if regalloc.frame_manager.frame_depth == 1:
             return
-        n = (regalloc.frame_manager.frame_depth - 1)*WORD
+        n = (regalloc.frame_manager.frame_depth)*WORD
         self._adjust_sp(n, cb)
 
     def _adjust_sp(self, n, cb=None, fcond=c.AL):



More information about the Pypy-commit mailing list