[pypy-commit] pypy stm-gc: Mark a point that is not done.
noreply at buildbot.pypy.org
Mon Apr 23 21:20:46 CEST 2012
Author: Armin Rigo <arigo at tunes.org>
Date: 2012-04-23 21:17 +0200
Log: Mark a point that is not done.
diff --git a/pypy/rpython/memory/gc/stmgc.py b/pypy/rpython/memory/gc/stmgc.py
@@ -71,7 +71,7 @@
# - In non-transactional mode, the write barrier turns the object LOCAL
# and add it in the list 'main_thread_tls.mt_global_turned_local'.
# This list contains all previously-GLOBAL objects that have been
-# modified. Objects turned LOCAL are changed back to GLOBAL and
+# modified. [XXX:TODO]Objects turned LOCAL are changed back to GLOBAL and
# removed from 'mt_global_turned_local' by the next collection,
# unless they are also found in the stack (the reason being that if
# they are in the stack and stm_writebarrier() has already been
diff --git a/pypy/rpython/memory/gc/stmtls.py b/pypy/rpython/memory/gc/stmtls.py
@@ -133,6 +133,8 @@
# and will not be called again before writing. But such objects
# are right now directly in the stack. So to fix this issue, we
# conservatively mark as local all objects directly from the stack.
+ # XXX TODO: do the same thing after each local_collection() by
+ # the main thread.
self.mt_global_turned_local = NULL
More information about the pypy-commit