Author: Maciej Fijalkowski <[email protected]>
Branch: jitframe-on-heap
Changeset: r60727:9d5504affe3e
Date: 2013-01-30 14:28 +0200
http://bitbucket.org/pypy/pypy/changeset/9d5504affe3e/
Log: merge
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
@@ -1018,9 +1018,9 @@
pushed = True
if not check_imm_arg(offset):
self.mc.gen_load_int(r.ip.value, offset, cond=cond)
- self.mc.SUB_rr(r.ip.value, r.fp.value, r.ip.value, cond=cond)
+ self.mc.ADD_rr(r.ip.value, r.fp.value, r.ip.value, cond=cond)
else:
- self.mc.SUB_ri(r.ip.value, r.fp.value, offset, cond=cond)
+ self.mc.ADD_ri(r.ip.value, r.fp.value, offset, cond=cond)
self.mc.VLDR(loc.value, r.ip.value, cond=cond)
if pushed:
self.mc.POP([r.ip.value], cond=cond)
diff --git a/rpython/jit/backend/arm/opassembler.py
b/rpython/jit/backend/arm/opassembler.py
--- a/rpython/jit/backend/arm/opassembler.py
+++ b/rpython/jit/backend/arm/opassembler.py
@@ -361,12 +361,10 @@
base_ofs = self.cpu.get_baseofs_of_frame_field() - WORD
if len(arglocs) == 2:
[return_val, fail_descr_loc] = arglocs
- if op.getarg(0).type == FLOAT and not IS_X86_64:
- XXX
- size = WORD * 2
+ if op.getarg(0).type == FLOAT:
+ self.mc.VSTR(return_val.value, r.fp.value)#, imm=-base_ofs)
else:
- size = WORD
- self.mc.STR_ri(return_val.value, r.fp.value)#, imm=-base_ofs)
+ self.mc.STR_ri(return_val.value, r.fp.value)#, imm=-base_ofs)
#self.save_into_mem(raw_stack(0), return_val, imm(size))
else:
[fail_descr_loc] = arglocs
diff --git a/rpython/jit/backend/arm/regalloc.py
b/rpython/jit/backend/arm/regalloc.py
--- a/rpython/jit/backend/arm/regalloc.py
+++ b/rpython/jit/backend/arm/regalloc.py
@@ -66,10 +66,7 @@
@staticmethod
def frame_pos(i, box_type):
- if box_type == FLOAT:
- return locations.StackLocation(i, get_fp_offset(i + 1), box_type)
- else:
- return locations.StackLocation(i, get_fp_offset(i), box_type)
+ return locations.StackLocation(i, get_fp_offset(i), box_type)
@staticmethod
def frame_size(type):
@@ -317,7 +314,6 @@
# the input args are passed in the jitframe
for box in inputargs:
assert isinstance(box, Box)
- assert box.type != FLOAT
self.fm.get_new_loc(box)
def _update_bindings(self, locs, inputargs):
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit