[pypy-commit] pypy s390x-backend: need to save all registers before assembling call_release_gil*, accidentally put false to save_all_regs

plan_rich pypy.commits at gmail.com
Thu Jan 7 04:48:25 EST 2016


Author: Richard Plangger <planrichi at gmail.com>
Branch: s390x-backend
Changeset: r81603:5d0c94086009
Date: 2016-01-07 09:27 +0100
http://bitbucket.org/pypy/pypy/changeset/5d0c94086009/

Log:	need to save all registers before assembling call_release_gil*,
	accidentally put false to save_all_regs

diff --git a/rpython/jit/backend/zarch/regalloc.py b/rpython/jit/backend/zarch/regalloc.py
--- a/rpython/jit/backend/zarch/regalloc.py
+++ b/rpython/jit/backend/zarch/regalloc.py
@@ -905,13 +905,12 @@
     prepare_call_may_force_n = _prepare_call_may_force
 
     def _prepare_call_release_gil(self, op):
-        save_all_regs = False
         errno_box = op.getarg(0)
         assert isinstance(errno_box, ConstInt)
         args = [None, l.imm(errno_box.value)]
         for i in range(1,op.numargs()):
             args.append(self.loc(op.getarg(i)))
-        self._spill_before_call(save_all_regs)
+        self._spill_before_call(save_all_regs=True)
         if op.type != VOID:
             resloc = self.after_call(op)
             args[0] = resloc


More information about the pypy-commit mailing list