[pypy-commit] pypy s390x-backend: finally, the indices for storing/restoring from a register where slightly off, which read garbage from the jitframe (floating point issues)

plan_rich noreply at buildbot.pypy.org
Tue Nov 24 10:13:31 EST 2015


Author: Richard Plangger <planrichi at gmail.com>
Branch: s390x-backend
Changeset: r80885:c55975affb6c
Date: 2015-11-24 16:13 +0100
http://bitbucket.org/pypy/pypy/changeset/c55975affb6c/

Log:	finally, the indices for storing/restoring from a register where
	slightly off, which read garbage from the jitframe (floating point
	issues)

diff --git a/rpython/jit/backend/zarch/assembler.py b/rpython/jit/backend/zarch/assembler.py
--- a/rpython/jit/backend/zarch/assembler.py
+++ b/rpython/jit/backend/zarch/assembler.py
@@ -595,6 +595,7 @@
         self.mc.AGHI(r.SP, l.imm(-STD_FRAME_SIZE_IN_BYTES))
 
         # save r4, the second argument, to THREADLOCAL_ADDR_OFFSET
+        # TODO
         #self.mc.STG(r.r3, l.addr(THREADLOCAL_ADDR_OFFSET, r.SP))
 
         # move the first argument to SPP: the jitframe object
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
@@ -309,7 +309,6 @@
         self.base_ofs = base_ofs
 
     def frame_pos(self, loc, box_type):
-        #return l.StackLocation(loc, get_fp_offset(self.base_ofs, loc), box_type)
         return l.StackLocation(loc, get_fp_offset(self.base_ofs, loc), box_type)
 
     @staticmethod
diff --git a/rpython/jit/backend/zarch/runner.py b/rpython/jit/backend/zarch/runner.py
--- a/rpython/jit/backend/zarch/runner.py
+++ b/rpython/jit/backend/zarch/runner.py
@@ -27,7 +27,7 @@
     all_reg_indexes = [-1] * 32
     for _i, _r in enumerate(r.registers):
         all_reg_indexes[_r.value] = _i
-    gen_regs = r.MANAGED_REGS
+    gen_regs = r.registers
     float_regs = r.MANAGED_FP_REGS
 
     def setup(self):


More information about the pypy-commit mailing list