Author: Richard Plangger <[email protected]>
Branch: s390x-backend
Changeset: r81998:2f0e451a18e2
Date: 2016-01-28 21:35 +0100
http://bitbucket.org/pypy/pypy/changeset/2f0e451a18e2/

Log:    greater equal is not equal, this basically invoked realloc frame
        EVERY time the assembler location was visited

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
@@ -582,7 +582,7 @@
         """
         descrs = self.cpu.gc_ll_descr.getframedescrs(self.cpu)
         ofs = self.cpu.unpack_fielddescr(descrs.arraydescr.lendescr)
-        mc.LG(r.SCRATCH2, l.addr(ofs, r.SPP))
+        mc.LG(r.r1, l.addr(ofs, r.SPP))
         patch_pos = mc.currpos()
         # placeholder for the following instructions
         # CGFI r1, ... (6  bytes)
@@ -602,8 +602,8 @@
         for traps_pos, jmp_target in self.frame_depth_to_patch:
             pmc = OverwritingBuilder(self.mc, traps_pos, 3)
             # three traps, so exactly three instructions to patch here
-            pmc.CGFI(r.SCRATCH2, l.imm(frame_depth))
-            pmc.BRC(c.EQ, l.imm(jmp_target - (traps_pos + 6)))
+            pmc.CGFI(r.r1, l.imm(frame_depth))
+            pmc.BRC(c.GE, l.imm(jmp_target - (traps_pos + 6)))
             pmc.LGHI(r.r0, l.imm(frame_depth))
             pmc.overwrite()
 
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to