Author: Armin Rigo <[email protected]>
Branch:
Changeset: r1592:24b92a4c84be
Date: 2015-01-28 11:57 +0100
http://bitbucket.org/pypy/stmgc/changeset/24b92a4c84be/
Log: Revert this change from 24ba707614c4. I think it is dangerous.
diff --git a/c7/stm/gcpage.c b/c7/stm/gcpage.c
--- a/c7/stm/gcpage.c
+++ b/c7/stm/gcpage.c
@@ -436,8 +436,14 @@
get_priv_segment(i)->modified_old_objects,
object_t * /*item*/,
({
- if (!mark_visited_test_and_set(item))
- mark_trace(item, stm_object_pages); /* shared version */
+ /* (arigo) I think that here we need to mark_trace() both
+ the shared version and the private version in all cases.
+ Even if the visited flag is already set, we don't know
+ which version was already traced... Chances are that
+ it was the stm_object_pages version, but we are not sure.
+ */
+ mark_visited_test_and_set(item);
+ mark_trace(item, stm_object_pages); /* shared version */
mark_trace(item, base); /* private version */
}));
}
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit