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

arigo at codespeak.net arigo at codespeak.net
Mon Oct 5 15:45:48 CEST 2009


Author: arigo
Date: Mon Oct  5 15:45:48 2009
New Revision: 68172

Modified:
   pypy/branch/merge-floats-via-sse2/pypy/jit/backend/x86/assembler.py
Log:
Comment out the stack alignment code.
Mac OS/X support is incomplete anyway, and
this logic was now confused about what type
of argument it received.


Modified: pypy/branch/merge-floats-via-sse2/pypy/jit/backend/x86/assembler.py
==============================================================================
--- pypy/branch/merge-floats-via-sse2/pypy/jit/backend/x86/assembler.py	(original)
+++ pypy/branch/merge-floats-via-sse2/pypy/jit/backend/x86/assembler.py	Mon Oct  5 15:45:48 2009
@@ -360,17 +360,18 @@
                     name = 'J' + false_cond
                     return self.implement_guard(addr, getattr(self.mc, name))
         return genop_cmp_guard
-            
-    def align_stack_for_call(self, nargs):
-        # xxx do something when we don't use push anymore for calls
-        extra_on_stack = align_stack_words(nargs)
-        for i in range(extra_on_stack-nargs):
-            self.mc.PUSH(imm(0))
-        return extra_on_stack
+
+##    XXX redo me
+##    def align_stack_for_call(self, nargs):
+##        # xxx do something when we don't use push anymore for calls
+##        extra_on_stack = align_stack_words(nargs)
+##        for i in range(extra_on_stack-nargs):
+##            self.mc.PUSH(imm(0))   --- or just use a single SUB(esp, imm)
+##        return extra_on_stack
 
     def call(self, addr, args, res):
         nargs = len(args)
-        extra_on_stack = self.align_stack_for_call(nargs)
+        extra_on_stack = nargs #self.align_stack_for_call(nargs)
         for i in range(nargs-1, -1, -1):
             self.mc.PUSH(args[i])
         self.mc.CALL(rel32(addr))
@@ -804,7 +805,7 @@
         extra_on_stack = 0
         for arg in range(2, nargs + 2):
             extra_on_stack += round_up_to_4(arglocs[arg].width)
-        extra_on_stack = self.align_stack_for_call(extra_on_stack)
+        #extra_on_stack = self.align_stack_for_call(extra_on_stack)
         self.mc.SUB(esp, imm(extra_on_stack))
         if isinstance(op.args[0], Const):
             x = rel32(op.args[0].getint())



More information about the Pypy-commit mailing list