Author: Maciej Fijalkowski <[email protected]>
Branch: jitframe-on-heap
Changeset: r61065:6dd263080f66
Date: 2013-02-11 11:09 +0200
http://bitbucket.org/pypy/pypy/changeset/6dd263080f66/

Log:    more 32bit fixes

diff --git a/rpython/jit/backend/llsupport/rewrite.py 
b/rpython/jit/backend/llsupport/rewrite.py
--- a/rpython/jit/backend/llsupport/rewrite.py
+++ b/rpython/jit/backend/llsupport/rewrite.py
@@ -178,12 +178,17 @@
         index = self.cpu.getarryoffset_for_frame()     
         for i, arg in enumerate(arglist):
             descr = self.cpu.getarraydescr_for_frame(arg.type)
-            self.newops.append(ResOperation(rop.SETARRAYITEM_GC,
-                                            [frame, ConstInt(index), arg],
-                                            None, descr))
             if WORD == 4 and type == history.FLOAT:
+                self.newops.append(ResOperation(rop.SETARRAYITEM_GC,
+                                                [frame, ConstInt(index // 2),
+                                                 arg],
+                                                None, descr))
                 index += 2
             else:
+                self.newops.append(ResOperation(rop.SETARRAYITEM_GC,
+                                                [frame, ConstInt(index),
+                                                 arg],
+                                                None, descr))
                 index += 1
         descr = op.getdescr()
         assert isinstance(descr, JitCellToken)
diff --git a/rpython/jit/backend/x86/assembler.py 
b/rpython/jit/backend/x86/assembler.py
--- a/rpython/jit/backend/x86/assembler.py
+++ b/rpython/jit/backend/x86/assembler.py
@@ -1140,7 +1140,7 @@
                     stack_depth += 2
                 else:
                     stack_depth += 1
-            stack_depth += loc.get_width()
+            stack_depth += loc.get_width() // WORD
         if stack_depth > PASS_ON_MY_FRAME:
             stack_depth = align_stack_words(stack_depth)
             align = (stack_depth - PASS_ON_MY_FRAME)
diff --git a/rpython/jit/backend/x86/runner.py 
b/rpython/jit/backend/x86/runner.py
--- a/rpython/jit/backend/x86/runner.py
+++ b/rpython/jit/backend/x86/runner.py
@@ -56,7 +56,7 @@
             return 1000
 
     def getarryoffset_for_frame(self):
-       return JITFRAME_FIXED_SIZE
+        return JITFRAME_FIXED_SIZE
 
     def setup(self):
         self.assembler = Assembler386(self, self.translate_support_code)
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to