[pypy-commit] pypy arm64: fix the jump

fijal pypy.commits at gmail.com
Sat Jul 13 06:09:46 EDT 2019


Author: fijal
Branch: arm64
Changeset: r96969:b7c685938bc8
Date: 2019-07-13 12:09 +0200
http://bitbucket.org/pypy/pypy/changeset/b7c685938bc8/

Log:	fix the jump

diff --git a/rpython/jit/backend/aarch64/assembler.py b/rpython/jit/backend/aarch64/assembler.py
--- a/rpython/jit/backend/aarch64/assembler.py
+++ b/rpython/jit/backend/aarch64/assembler.py
@@ -1076,8 +1076,11 @@
             self.mc.SUB_rr(r.ip0.value, r.ip0.value, r.sp.value) # SUB ip, current
             # if ofs
             self.mc.CMP_rr(r.ip0.value, r.ip1.value)             # CMP ip, lr
-            self.mc.B_ofs_cond(4 + 2, c.LS)
+            pos = self.mc.currpos()
+            self.mc.BRK()
             self.mc.B(self.stack_check_slowpath)                 # call if ip > lr
+            pmc = OverwritingBuilder(self.mc, pos, WORD)
+            pmc.B_ofs_cond(self.mc.currpos() - pos, c.LS)
 
     def _call_header(self):
         stack_size = (len(r.callee_saved_registers) + 4) * WORD


More information about the pypy-commit mailing list