Author: David Schneider <david.schnei...@picle.org> Branch: jitframe-on-heap Changeset: r60723:f410b2ca03ba Date: 2013-01-30 12:59 +0100 http://bitbucket.org/pypy/pypy/changeset/f410b2ca03ba/
Log: test_float_operations passes 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 pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit