[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