Author: Remi Meier <[email protected]>
Branch: stmgc-c8-gcc
Changeset: r79666:7942aa26d427
Date: 2015-09-17 10:58 +0200
http://bitbucket.org/pypy/pypy/changeset/7942aa26d427/

Log:    test reproducing the problem

diff --git a/rpython/translator/stm/test/test_ztranslated.py 
b/rpython/translator/stm/test/test_ztranslated.py
--- a/rpython/translator/stm/test/test_ztranslated.py
+++ b/rpython/translator/stm/test/test_ztranslated.py
@@ -738,3 +738,25 @@
         t, cbuilder = self.compile(main)
         data = cbuilder.cmdexec('')
         assert 'ok!\n' in data
+
+    def test_allocate_noconflict3(self):
+        MAPDICT_CACHE = lltype.GcArray(llmemory.GCREF)
+
+        class CacheEntry(object): pass
+        INVALID_CACHE_ENTRY = CacheEntry()
+
+        class P(): pass
+        pbc = P()
+        pbc.cache = rstm.allocate_noconflict(MAPDICT_CACHE, 5)
+        for i in range(5):
+            pbc.cache[i] = cast_instance_to_gcref(INVALID_CACHE_ENTRY)
+
+        def main(argv):
+            assert cast_gcref_to_instance(CacheEntry, pbc.cache[1]) is 
INVALID_CACHE_ENTRY
+            #
+            print "ok!"
+            return 0
+
+        t, cbuilder = self.compile(main)
+        data = cbuilder.cmdexec('')
+        assert 'ok!\n' in data
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to