[pypy-svn] r68078 - pypy/branch/floats-via-sse2/pypy/jit/backend/x86

fijal at codespeak.net fijal at codespeak.net
Thu Oct 1 00:41:21 CEST 2009


Author: fijal
Date: Thu Oct  1 00:41:20 2009
New Revision: 68078

Modified:
   pypy/branch/floats-via-sse2/pypy/jit/backend/x86/assembler.py
Log:
We use WORD for smaller stuff than WORD


Modified: pypy/branch/floats-via-sse2/pypy/jit/backend/x86/assembler.py
==============================================================================
--- pypy/branch/floats-via-sse2/pypy/jit/backend/x86/assembler.py	(original)
+++ pypy/branch/floats-via-sse2/pypy/jit/backend/x86/assembler.py	Thu Oct  1 00:41:20 2009
@@ -791,7 +791,7 @@
                     self.mc.MOVSD(mem64(esp, p), loc)
                 else:
                     self.mc.MOV(mem(esp, p), loc)
-            p += loc.width
+            p += round_up_to_4(loc.width)
         p = 0
         for i in range(2, nargs + 2):
             loc = arglocs[i]
@@ -802,7 +802,7 @@
                 else:
                     self.mc.MOV(tmp, loc)
                     self.mc.MOV(mem(esp, p), tmp)
-            p += loc.width
+            p += round_up_to_4(loc.width)
         self.mc.CALL(x)
         self.mark_gc_roots()
         self.mc.ADD(esp, imm(WORD * extra_on_stack))
@@ -920,3 +920,8 @@
         return heap(reg_or_imm1.value + offset)
     else:
         return mem(reg_or_imm1, offset)
+
+def round_up_to_4(size):
+    if size < 4:
+        return 4
+    return size



More information about the Pypy-commit mailing list