Author: Armin Rigo <[email protected]>
Branch:
Changeset: r429:d633d35aa61e
Date: 2013-07-21 09:29 +0200
http://bitbucket.org/pypy/stmgc/changeset/d633d35aa61e/
Log: Add a comment that finally settles my mind
diff --git a/c4/nursery.c b/c4/nursery.c
--- a/c4/nursery.c
+++ b/c4/nursery.c
@@ -235,6 +235,12 @@
/* the backup copy is always allocated outside the nursery,
but we have to trace it as well, as it may contain its own
young pointers.
+
+ but only once: if the transaction was running for long enough
+ to have num_private_from_protected_known_old > 0, then the
+ backup copies of known-old objects have already been traced
+ in a previous minor collection, and as they are read-only,
+ they cannot contain young pointers any more.
*/
stmgc_trace((gcptr)items[i]->h_revision, &visit_if_young);
}
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit