Author: Armin Rigo <[email protected]>
Branch:
Changeset: r73200:8192749d7069
Date: 2014-08-30 09:29 +0200
http://bitbucket.org/pypy/pypy/changeset/8192749d7069/
Log: Bug fix for arm
diff --git a/rpython/jit/backend/arm/assembler.py
b/rpython/jit/backend/arm/assembler.py
--- a/rpython/jit/backend/arm/assembler.py
+++ b/rpython/jit/backend/arm/assembler.py
@@ -7,7 +7,7 @@
from rpython.jit.backend.arm.arch import (WORD, DOUBLE_WORD, FUNC_ALIGN,
JITFRAME_FIXED_SIZE)
from rpython.jit.backend.arm.codebuilder import InstrBuilder,
OverwritingBuilder
-from rpython.jit.backend.arm.locations import imm, StackLocation
+from rpython.jit.backend.arm.locations import imm, StackLocation, get_fp_offset
from rpython.jit.backend.arm.helper.regalloc import VMEM_imm_size
from rpython.jit.backend.arm.opassembler import ResOpAssembler
from rpython.jit.backend.arm.regalloc import (Regalloc,
@@ -708,9 +708,9 @@
return AsmInfo(ops_offset, startpos + rawstart, codeendpos - startpos)
- def new_stack_loc(self, i, pos, tp):
+ def new_stack_loc(self, i, tp):
base_ofs = self.cpu.get_baseofs_of_frame_field()
- return StackLocation(i, pos + base_ofs, tp)
+ return StackLocation(i, get_fp_offset(base_ofs, i), tp)
def check_frame_before_jump(self, target_token):
if target_token in self.target_tokens_currently_compiling:
diff --git a/rpython/jit/backend/llsupport/assembler.py
b/rpython/jit/backend/llsupport/assembler.py
--- a/rpython/jit/backend/llsupport/assembler.py
+++ b/rpython/jit/backend/llsupport/assembler.py
@@ -153,7 +153,7 @@
i = pos - self.cpu.JITFRAME_FIXED_SIZE
assert i >= 0
tp = inputargs[input_i].type
- locs.append(self.new_stack_loc(i, pos, tp))
+ locs.append(self.new_stack_loc(i, tp))
input_i += 1
return locs
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
@@ -1764,7 +1764,7 @@
ofs = self.cpu.get_ofs_of_frame_field('jf_gcmap')
mc.MOV_bi(ofs, 0)
- def new_stack_loc(self, i, pos, tp):
+ def new_stack_loc(self, i, tp):
base_ofs = self.cpu.get_baseofs_of_frame_field()
return FrameLoc(i, get_ebp_ofs(base_ofs, i), tp)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit