Author: Armin Rigo <[email protected]>
Branch: stm-gc
Changeset: r54443:ddbb298b6971
Date: 2012-04-16 21:18 +0200
http://bitbucket.org/pypy/pypy/changeset/ddbb298b6971/
Log: A failing test
diff --git a/pypy/rpython/memory/gc/test/test_stmgc.py
b/pypy/rpython/memory/gc/test/test_stmgc.py
--- a/pypy/rpython/memory/gc/test/test_stmgc.py
+++ b/pypy/rpython/memory/gc/test/test_stmgc.py
@@ -175,7 +175,7 @@
1)
llarena.arena_reserve(adr1, totalsize)
addr = adr1 + self.gc.gcheaderbuilder.size_gc_header
- self.gc.header(addr).tid = GCFLAG_GLOBAL
+ self.gc.header(addr).tid = self.gc.combine(tid, GCFLAG_GLOBAL)
realobj = llmemory.cast_adr_to_ptr(addr, lltype.Ptr(STRUCT))
else:
gcref = self.gc.malloc_fixedsize_clear(tid, size,
@@ -346,6 +346,17 @@
main_tls = self.gc.main_thread_tls
assert main_tls.nursery_free == main_tls.nursery_start # empty
+ def test_commit_tldict_entry_with_global_references(self):
+ t, t_adr = self.malloc(S)
+ tr, tr_adr = self.malloc(SR)
+ tr.s1 = t
+ self.select_thread(1)
+ sr_adr = self.gc.stm_writebarrier(tr_adr)
+ assert sr_adr != tr_adr
+ s_adr = self.gc.stm_writebarrier(t_adr)
+ assert s_adr != t_adr
+ self.gc.commit_transaction()
+
def test_commit_transaction_no_references(self):
py.test.skip("rewrite me")
s, s_adr = self.malloc(S)
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit