[svn:parrot] r49482 - branches/generational_gc/src/gc
bacek at svn.parrot.org
bacek at svn.parrot.org
Fri Oct 8 11:37:13 UTC 2010
Author: bacek
Date: Fri Oct 8 11:37:13 2010
New Revision: 49482
URL: https://trac.parrot.org/parrot/changeset/49482
Log:
Fix cleanup flags
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 Fri Oct 8 11:36:57 2010 (r49481)
+++ branches/generational_gc/src/gc/gc_ms2.c Fri Oct 8 11:37:13 2010 (r49482)
@@ -1348,7 +1348,7 @@
size_t gen = PObj_to_generation(pmc);
/* Objects from older generation will stay */
- if (gen >= self->current_generation)
+ if (gen > self->current_generation)
return;
/* "Constant"... */
@@ -1357,7 +1357,9 @@
LIST_REMOVE(self->objects[gen], item);
LIST_APPEND(self->objects[self->current_generation], item);
- pmc->flags &= ~generation_to_flags(gen);
+ pmc->flags &= ~(PObj_GC_generation_0_FLAG
+ | PObj_GC_generation_1_FLAG
+ | PObj_GC_generation_2_FLAG);
pmc->flags |= generation_to_flags(self->current_generation);
}
@@ -1380,7 +1382,9 @@
LIST_REMOVE(self->strings[gen], item);
LIST_APPEND(self->strings[self->current_generation], item);
- s->flags &= ~generation_to_flags(gen);
+ s->flags &= ~(PObj_GC_generation_0_FLAG
+ | PObj_GC_generation_1_FLAG
+ | PObj_GC_generation_2_FLAG);
s->flags |= generation_to_flags(self->current_generation);
}
/*
More information about the parrot-commits
mailing list