[pypy-commit] pypy s390x-backend: added te temp_boxes too early, added comments

plan_rich pypy.commits at gmail.com
Mon Feb 15 06:08:11 EST 2016


Author: Richard Plangger <planrichi at gmail.com>
Branch: s390x-backend
Changeset: r82257:c587ef1d34a4
Date: 2016-02-15 12:07 +0100
http://bitbucket.org/pypy/pypy/changeset/c587ef1d34a4/

Log:	added te temp_boxes too early, added comments

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
@@ -991,10 +991,10 @@
         itemsize, ofs, _ = unpack_arraydescr(op.getdescr())
         startindex_loc = self.ensure_reg_or_16bit_imm(op.getarg(1))
         tempvar = TempInt()
-        self.rm.temp_boxes.append(tempvar)
         ofs_loc = self.ensure_reg_or_16bit_imm(ConstInt(ofs))
         base_loc, length_loc = self.rm.ensure_even_odd_pair(op.getarg(0), tempvar,
               bind_first=True, must_exist=False, load_loc_odd=False)
+        self.rm.temp_boxes.append(tempvar)
 
         length_box = op.getarg(2)
         ll = self.rm.loc(length_box)
@@ -1028,17 +1028,20 @@
     def _prepare_math_sqrt(self, op):
         loc = self.ensure_reg(op.getarg(1))
         self.free_op_vars()
+        # can be the same register as loc
         res = self.fprm.force_allocate_reg(op)
         return [loc, res]
 
     def prepare_cast_int_to_float(self, op):
         loc1 = self.ensure_reg(op.getarg(0))
+        # ok not to use forbidden_vars, parameter is a int box
         res = self.fprm.force_allocate_reg(op)
         return [loc1, res]
 
     def prepare_cast_float_to_int(self, op):
         loc1 = self.ensure_reg(op.getarg(0))
         self.free_op_vars()
+        # ok not to use forbidden_vars, parameter is a float box
         res = self.rm.force_allocate_reg(op)
         return [loc1, res]
 


More information about the pypy-commit mailing list