Author: Armin Rigo <[email protected]>
Branch: copy-over-original2
Changeset: r455:e05ca53c99a1
Date: 2013-07-26 16:59 +0200
http://bitbucket.org/pypy/stmgc/changeset/e05ca53c99a1/

Log:    Fix (probably, but it seems confirmed by the fact that test_random
        doesn't complain about unexpected aborts)

diff --git a/c4/gcpage.c b/c4/gcpage.c
--- a/c4/gcpage.c
+++ b/c4/gcpage.c
@@ -593,7 +593,6 @@
     items = d->list_of_read_objects.items;
     for (i = d->list_of_read_objects.size - 1; i >= 0; --i) {
         gcptr obj = items[i];
-        assert(!(obj->h_tid & GCFLAG_STUB));
 
         if (obj->h_tid & GCFLAG_MOVED) {
             assert(!(obj->h_tid & GCFLAG_PRIVATE_FROM_PROTECTED));
@@ -616,7 +615,7 @@
         }
 
         revision_t v = obj->h_revision;
-        if (IS_POINTER(v)) {
+        if ((obj->h_tid & GCFLAG_STUB) || IS_POINTER(v)) {
             /* has a more recent revision.  Oups. */
             dprintf(("ABRT_COLLECT_MAJOR %p: "
                      "%p was read but modified already\n", d, obj));
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to