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