[svn:parrot] r49569 - branches/generational_gc/src/gc
bacek at svn.parrot.org
bacek at svn.parrot.org
Mon Oct 18 12:07:53 UTC 2010
Author: bacek
Date: Mon Oct 18 12:07:53 2010
New Revision: 49569
URL: https://trac.parrot.org/parrot/changeset/49569
Log:
Switch on m&s of oldes generation. Introduce few new core test failures
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 Mon Oct 18 11:57:13 2010 (r49568)
+++ branches/generational_gc/src/gc/gc_ms2.c Mon Oct 18 12:07:53 2010 (r49569)
@@ -656,7 +656,7 @@
/* Which generation we are going to collect? */
/* TODO Use less naive approach. E.g. count amount of allocated memory in
* older generations */
- if (0 && interp->gc_sys->stats.gc_mark_runs % 100 == 0)
+ if (interp->gc_sys->stats.gc_mark_runs % 100 == 0)
gen = self->current_generation = 2;
else if (interp->gc_sys->stats.gc_mark_runs % 10 == 0)
gen = self->current_generation = 1;
@@ -732,9 +732,8 @@
* 3. Destroy everything else.
*/
- /* FIXME There is no generation beyond 2. We have to handle it
- differently */
- for (i = gen; i >= 0; i--) {
+ /* There is no generation beyond 2. We have to handle it differentely */
+ for (i = gen == 2 ? 1 : gen; i >= 0; i--) {
tmp = self->objects[i]->first;
while (tmp) {
PMC *pmc = LLH2Obj_typed(tmp, PMC);
@@ -1506,6 +1505,8 @@
pmc->flags |= gen2flags(self->current_generation);
pmc->flags |= PObj_GC_generation_2_FLAG;
+
+ PObj_live_SET(pmc);
}
static void
More information about the parrot-commits
mailing list