Author: hager <sven.ha...@uni-duesseldorf.de> Branch: ppc-jit-backend Changeset: r48049:67b568567990 Date: 2011-10-14 10:46 +0200 http://bitbucket.org/pypy/pypy/changeset/67b568567990/
Log: (bivab, shager): Started correct implementation of FINISH operation. diff --git a/pypy/jit/backend/ppc/ppcgen/opassembler.py b/pypy/jit/backend/ppc/ppcgen/opassembler.py --- a/pypy/jit/backend/ppc/ppcgen/opassembler.py +++ b/pypy/jit/backend/ppc/ppcgen/opassembler.py @@ -52,15 +52,7 @@ # # then the guard fails. def emit_finish(self, op, arglocs, regalloc): - descr = op.getdescr() - identifier = self._get_identifier_from_descr(descr) - self.cpu.saved_descr[identifier] = descr - args = op.getarglist() - for index, arg in enumerate(arglocs): - addr = self.fail_boxes_int.get_addr_for_num(index) - self.store_reg(arg, addr) - self.load_imm(r.RES.value, identifier) # set return value - self.branch_abs(self.exit_code_adr) + self.gen_exit_stub(op.getdescr(), op.getarglist(), arglocs) def emit_jump(self, op, arglocs, regalloc): descr = op.getdescr() diff --git a/pypy/jit/backend/ppc/ppcgen/regalloc.py b/pypy/jit/backend/ppc/ppcgen/regalloc.py --- a/pypy/jit/backend/ppc/ppcgen/regalloc.py +++ b/pypy/jit/backend/ppc/ppcgen/regalloc.py @@ -199,8 +199,7 @@ return locs + [res] def prepare_finish(self, op): - #args = [locations.imm(self.frame_manager.frame_depth)] - args = [] + args = [locations.imm(self.frame_manager.frame_depth)] for i in range(op.numargs()): arg = op.getarg(i) if arg: _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit