[pypy-commit] stmgc copy-over-original2: Fix (probably, but it seems confirmed by the fact that test_random doesn't

arigo noreply at buildbot.pypy.org
Fri Jul 26 16:59:12 CEST 2013


Author: Armin Rigo <arigo at tunes.org>
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));


More information about the pypy-commit mailing list