[svn:parrot] r49333 - branches/generational_gc/src/gc

bacek at svn.parrot.org bacek at svn.parrot.org
Sun Sep 26 03:43:25 UTC 2010


Author: bacek
Date: Sun Sep 26 03:43:25 2010
New Revision: 49333
URL: https://trac.parrot.org/parrot/changeset/49333

Log:
Add draft spec for GenGC.

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 Sep 26 03:43:06 2010	(r49332)
+++ branches/generational_gc/src/gc/gc_ms2.c	Sun Sep 26 03:43:25 2010	(r49333)
@@ -8,6 +8,20 @@
 
 =head1 DESCRIPTION
 
+Generational, non-compacting, mark and sweep GC.
+
+Objects stored in 3 different lists for each generation.
+PObj_GC_generation_0_FLAG and PObj_GC_generation_1_FLAG determine generation.
+PObj_GC_generation_2_FLAG set when Object survived first collection in particular
+generation.
+
+GC algorithm is:
+1. After C<gc_threshold> allocated memory we trigger collection of young objects.
+2. Survived objects without PObj_GC_generation_2_FLAG will set flag.
+3. -- // -- with PObj_GC_generation_2_FLAG will be moved to older generation.
+4. After ... we trigger collection of older objects with same approach.
+5. After ... we trigger collection of ancient objects.
+
 =cut
 
 */


More information about the parrot-commits mailing list