[pypy-commit] pypy ppc-jit-backend: (bivab, hager): fix bug in prepare_guard_call_release_gil

hager noreply at buildbot.pypy.org
Mon Jan 2 15:11:58 CET 2012


Author: hager <sven.hager at uni-duesseldorf.de>
Branch: ppc-jit-backend
Changeset: r50978:fa8e4ebd847b
Date: 2012-01-02 15:11 +0100
http://bitbucket.org/pypy/pypy/changeset/fa8e4ebd847b/

Log:	(bivab, hager): fix bug in prepare_guard_call_release_gil

diff --git a/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py b/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py
--- a/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py
+++ b/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py
@@ -938,7 +938,6 @@
 
     def _write_fail_index(self, fail_index):
         self.mc.alloc_scratch_reg(fail_index)
-        self.mc.load_imm(r.SCRATCH, fail_index)
         self.mc.store(r.SCRATCH.value, r.SPP.value, self.ENCODING_AREA)
         self.mc.free_scratch_reg()
             
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
@@ -422,6 +422,7 @@
         # do the call
         faildescr = guard_op.getdescr()
         fail_index = self.cpu.get_fail_descr_number(faildescr)
+        self.assembler._write_fail_index(fail_index)
         args = [imm(rffi.cast(lltype.Signed, op.getarg(0).getint()))]
         self.assembler.emit_call(op, args, self, fail_index)
         # then reopen the stack


More information about the pypy-commit mailing list