[pypy-commit] pypy arm64: gen_footer_shadowstack

fijal pypy.commits at gmail.com
Thu Jun 27 13:11:07 EDT 2019


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: arm64
Changeset: r96877:d15f9ba0be63
Date: 2019-06-27 17:10 +0000
http://bitbucket.org/pypy/pypy/changeset/d15f9ba0be63/

Log:	gen_footer_shadowstack

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
@@ -1015,6 +1015,13 @@
 
         mc.RET_r(r.lr.value)
 
+    def gen_footer_shadowstack(self, gcrootmap, mc):
+        rst = gcrootmap.get_root_stack_top_addr()
+        mc.gen_load_int(r.ip0.value, rst)
+        self.load_reg(mc, r.ip1, r.ip0)
+        mc.SUB_ri(r.ip1.value, r.ip1.value, WORD)
+        self.store_reg(mc, r.ip1, r.ip0)
+
     def store_reg(self, mc, source, base, ofs=0, helper=None):
         # uses r.ip1 as a temporary
         if source.is_vfp_reg():


More information about the pypy-commit mailing list