Author: Armin Rigo <ar...@tunes.org>
Branch: 
Changeset: r91429:659988b39888
Date: 2017-05-28 16:42 +0200
http://bitbucket.org/pypy/pypy/changeset/659988b39888/

Log:    Fix test

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
@@ -463,6 +463,21 @@
     def get_root_stack_top_addr(self):
         return rffi.cast(lltype.Signed, self.stack_addr)
 
+    def getlength(self):
+        top = self.stack_addr[0]
+        base = rffi.cast(lltype.Signed, self.stack)
+        n = (top - base) // WORD
+        assert 0 <= n < 10
+        return n
+
+    def curtop(self):
+        n = self.getlength()
+        return self.stack[n - 1]
+
+    def settop(self, newvalue):
+        n = self.getlength()
+        self.stack[n - 1] = newvalue
+
 class WriteBarrierDescr(AbstractDescr):
     jit_wb_cards_set = 0
     jit_wb_if_flag_singlebyte = 1
@@ -645,7 +660,7 @@
         frames = []
 
         def check(i):
-            assert cpu.gc_ll_descr.gcrootmap.stack[0] == i
+            assert cpu.gc_ll_descr.gcrootmap.curtop() == i
             frame = rffi.cast(JITFRAMEPTR, i)
             assert len(frame.jf_frame) == self.cpu.JITFRAME_FIXED_SIZE + 4
             # we "collect"
@@ -665,14 +680,14 @@
                 assert gcmap == [22, 23, 24]
             for item, s in zip(gcmap, new_items):
                 new_frame.jf_frame[item] = rffi.cast(lltype.Signed, s)
-            assert cpu.gc_ll_descr.gcrootmap.stack[0] == 
rffi.cast(lltype.Signed, frame)
-            cpu.gc_ll_descr.gcrootmap.stack[0] = rffi.cast(lltype.Signed, 
new_frame)
+            assert cpu.gc_ll_descr.gcrootmap.curtop() == 
rffi.cast(lltype.Signed, frame)
+            cpu.gc_ll_descr.gcrootmap.settop(rffi.cast(lltype.Signed, 
new_frame))
             print '"Collecting" moved the frame from %d to %d' % (
-                i, cpu.gc_ll_descr.gcrootmap.stack[0])
+                i, cpu.gc_ll_descr.gcrootmap.curtop())
             frames.append(new_frame)
 
         def check2(i):
-            assert cpu.gc_ll_descr.gcrootmap.stack[0] == i
+            assert cpu.gc_ll_descr.gcrootmap.curtop() == i
             frame = rffi.cast(JITFRAMEPTR, i)
             assert frame == frames[1]
             assert frame != frames[0]
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to