[pypy-commit] stmgc default: Fix in debug code (likely)

arigo noreply at buildbot.pypy.org
Wed Aug 20 17:28:04 CEST 2014


Author: Armin Rigo <arigo at tunes.org>
Branch: 
Changeset: r1321:b067967930aa
Date: 2014-08-20 17:12 +0200
http://bitbucket.org/pypy/stmgc/changeset/b067967930aa/

Log:	Fix in debug code (likely)

diff --git a/c7/stm/nursery.c b/c7/stm/nursery.c
--- a/c7/stm/nursery.c
+++ b/c7/stm/nursery.c
@@ -196,7 +196,11 @@
                || write_locks[first_card_index] == 255); /* see gcpage.c */
     while (card_index <= last_card_index) {
         uintptr_t card_lock_idx = first_card_index + card_index;
-        assert(write_locks[card_lock_idx] == CARD_CLEAR);
+        if (write_locks[card_lock_idx] != CARD_CLEAR) {
+            /* could occur if the object is immediately re-locked by
+               another thread */
+            assert(write_locks[first_card_index] != 0);
+        }
         card_index++;
     }
 


More information about the pypy-commit mailing list