Author: Remi Meier <[email protected]>
Branch:
Changeset: r373:470bcb38a12e
Date: 2013-07-08 13:26 +0200
http://bitbucket.org/pypy/stmgc/changeset/470bcb38a12e/
Log: repeat/do write barrier after minor_collection. I think the problem
was that minor_collect clears old_objects_to_trace and the object
needs to be reregistered there if it is modified again.
diff --git a/duhton/listobject.c b/duhton/listobject.c
--- a/duhton/listobject.c
+++ b/duhton/listobject.c
@@ -75,7 +75,7 @@
void _list_append(DuListObject *ob, DuObject *x)
{
- _du_write1(ob);
+ _du_read1(ob);
DuTupleObject *olditems = ob->ob_tuple;
_du_read1(olditems);
@@ -85,6 +85,8 @@
DuTupleObject *newitems = DuTuple_New(newcount);
_du_restore3(ob, x, olditems);
+ _du_write1(ob);
+
for (i=0; i<newcount-1; i++)
newitems->ob_items[i] = olditems->ob_items[i];
newitems->ob_items[newcount-1] = x;
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit