Author: Armin Rigo <[email protected]>
Branch: incremental-gc
Changeset: r67363:a20b1926aad6
Date: 2013-10-14 17:49 +0200
http://bitbucket.org/pypy/pypy/changeset/a20b1926aad6/

Log:    Fix for test_incminimark_gc.py:test_writebarrier_before_copy

diff --git a/rpython/memory/gc/incminimark.py b/rpython/memory/gc/incminimark.py
--- a/rpython/memory/gc/incminimark.py
+++ b/rpython/memory/gc/incminimark.py
@@ -1513,6 +1513,13 @@
                         interval_start = interval_stop
                         cardbyte >>= 1
                     interval_start = next_byte_start
+                #
+                # If we're incrementally marking right now, sorry, we also
+                # need to add the object to 'objects_to_trace' and have it
+                # fully traced very soon.
+                if self.gc_state == STATE_MARKING:
+                    self.header(obj).tid &= ~GCFLAG_VISITED
+                    self.objects_to_trace.append(obj)
 
 
     def collect_oldrefs_to_nursery(self):
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to