[svn:parrot] r49637 - branches/generational_gc/src/gc
bacek at svn.parrot.org
bacek at svn.parrot.org
Sat Oct 23 05:07:33 UTC 2010
Author: bacek
Date: Sat Oct 23 05:07:33 2010
New Revision: 49637
URL: https://trac.parrot.org/parrot/changeset/49637
Log:
Repaint old generations white after marking young generations.
Modified:
branches/generational_gc/src/gc/gc_ms2.c
Modified: branches/generational_gc/src/gc/gc_ms2.c
==============================================================================
--- branches/generational_gc/src/gc/gc_ms2.c Sat Oct 23 05:07:09 2010 (r49636)
+++ branches/generational_gc/src/gc/gc_ms2.c Sat Oct 23 05:07:33 2010 (r49637)
@@ -799,11 +799,32 @@
gc_ms2_sweep_pool(interp, self->pmc_allocator, self->objects[1], gc_ms2_sweep_pmc_cb);
gc_ms2_sweep_pool(interp, self->string_allocator, self->strings[1], gc_ms2_sweep_string_cb);
}
+ else {
+ tmp = 0 && old_object_tails[1]
+ ? old_object_tails[1]
+ : self->objects[1]->first;
+ while (tmp) {
+ PMC *pmc = LLH2Obj_typed(tmp, PMC);
+ PObj_live_CLEAR(pmc);
+ tmp = tmp->next;
+ }
+ }
if (gen == 2) {
gc_ms2_sweep_pool(interp, self->pmc_allocator, self->objects[2], gc_ms2_sweep_pmc_cb);
gc_ms2_sweep_pool(interp, self->string_allocator, self->strings[2], gc_ms2_sweep_string_cb);
}
+ else {
+ tmp = 0 && old_object_tails[2]
+ ? old_object_tails[2]
+ : self->objects[2]->first;
+ while (tmp) {
+ PMC *pmc = LLH2Obj_typed(tmp, PMC);
+ PObj_live_CLEAR(pmc);
+ tmp = tmp->next;
+ }
+ }
+
/* Update some stats */
More information about the parrot-commits
mailing list