[pypy-commit] pypy default: aarch64: fix test_gc_integration.py

arigo pypy.commits at gmail.com
Sun Aug 11 10:07:54 EDT 2019


Author: Armin Rigo <arigo at tunes.org>
Branch: 
Changeset: r97144:381752e5cd15
Date: 2019-08-11 14:06 +0000
http://bitbucket.org/pypy/pypy/changeset/381752e5cd15/

Log:	aarch64: fix test_gc_integration.py

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
@@ -31,6 +31,7 @@
         ResOpAssembler.__init__(self, cpu, translate_support_code)
         self.failure_recovery_code = [0, 0, 0, 0]
         self.wb_slowpath = [0, 0, 0, 0, 0]
+        self.stack_check_slowpath = 0
 
     def assemble_loop(self, jd_id, unique_id, logger, loopname, inputargs,
                       operations, looptoken, log):
@@ -675,7 +676,7 @@
         # new value of nursery_free_adr in r1 and the adr of the new object in
         # r0.
 
-        self.mc.B_ofs_cond(10 * 4, c.LO) # 4 for gcmap load, 5 for BL, 1 for B_ofs_cond
+        self.mc.B_ofs_cond(10 * 4, c.LS) # 4 for gcmap load, 5 for BL, 1 for B_ofs_cond
         self.mc.gen_load_int_full(r.ip1.value, rffi.cast(lltype.Signed, gcmap))
 
         self.mc.BL(self.malloc_slowpath)
@@ -698,7 +699,7 @@
 
         self.mc.CMP_rr(r.x1.value, r.ip0.value)
         #
-        self.mc.B_ofs_cond(40, c.LO) # see calculations in malloc_cond
+        self.mc.B_ofs_cond(40, c.LS) # see calculations in malloc_cond
         self.mc.gen_load_int_full(r.ip1.value, rffi.cast(lltype.Signed, gcmap))
 
         self.mc.BL(self.malloc_slowpath)
diff --git a/rpython/jit/backend/llsupport/test/test_gc_integration.py b/rpython/jit/backend/llsupport/test/test_gc_integration.py
--- a/rpython/jit/backend/llsupport/test/test_gc_integration.py
+++ b/rpython/jit/backend/llsupport/test/test_gc_integration.py
@@ -93,6 +93,8 @@
             assert nos == [0, 1, 33]
         elif self.cpu.backend_name.startswith('zarch'):
             assert nos == [0, 1, 29]
+        elif self.cpu.backend_name.startswith('aarch64'):
+            assert nos == [0, 1, 27]
         else:
             raise Exception("write the data here")
         assert frame.jf_frame[nos[0]]
@@ -672,6 +674,8 @@
             elif self.cpu.backend_name.startswith('zarch'):
                 # 10 gpr, 14 fpr -> 25 is the first slot
                 assert gcmap == [26, 27, 28]
+            elif self.cpu.backend_name.startswith('aarch64'):
+                assert gcmap == [24, 25, 26]
             elif self.cpu.IS_64_BIT:
                 assert gcmap == [28, 29, 30]
             elif self.cpu.backend_name.startswith('arm'):


More information about the pypy-commit mailing list