[svn:parrot] r49654 - branches/generational_gc/src/gc
bacek at svn.parrot.org
bacek at svn.parrot.org
Sun Oct 24 21:33:12 UTC 2010
Author: bacek
Date: Sun Oct 24 21:33:11 2010
New Revision: 49654
URL: https://trac.parrot.org/parrot/changeset/49654
Log:
Don't process non-black objects during bringing to same generation.
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 Sun Oct 24 21:08:31 2010 (r49653)
+++ branches/generational_gc/src/gc/gc_ms2.c Sun Oct 24 21:33:11 2010 (r49654)
@@ -916,13 +916,15 @@
while (tmp) {
PMC *pmc = LLH2Obj_typed(tmp, PMC);
- pmc->flags |= PObj_GC_generation_2_FLAG;
+ if (PObj_live_TEST(pmc)) {
+ pmc->flags |= PObj_GC_generation_2_FLAG;
- if (PObj_custom_mark_TEST(pmc))
- VTABLE_mark(interp, pmc);
+ if (PObj_custom_mark_TEST(pmc))
+ VTABLE_mark(interp, pmc);
- if (PMC_metadata(pmc))
- Parrot_gc_mark_PMC_alive(interp, PMC_metadata(pmc));
+ if (PMC_metadata(pmc))
+ Parrot_gc_mark_PMC_alive(interp, PMC_metadata(pmc));
+ }
tmp = tmp->next;
}
More information about the parrot-commits
mailing list