[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