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