[pypy-commit] pypy ppc-jit-backend: (bivab, shager): Started correct implementation of FINISH operation.
hager
noreply at buildbot.pypy.org
Fri Oct 14 10:47:49 CEST 2011
Author: hager <sven.hager at 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:
More information about the pypy-commit
mailing list