From 9bce2eb8b399a27ffdd0073606ca3cb14268348f Mon Sep 17 00:00:00 2001 From: fleuria Date: Tue, 23 Jul 2013 17:00:55 +0800 Subject: gc: add comments for Generational Mode --- src/gc.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/gc.c b/src/gc.c index 05577f9c7..cfe48df68 100644 --- a/src/gc.c +++ b/src/gc.c @@ -66,7 +66,7 @@ For details, see the comments for each function. - = Write Barrier + == Write Barrier mruby implementer, C extension library writer must write a write barrier when writing a pointer to an object on object's field. @@ -75,6 +75,20 @@ * mrb_field_write_barrier * mrb_write_barrier + == Generational Mode + + mruby's GC offers an Generational Mode while re-using the tri-color GC + infrastructure. It will treat the Black objects as Old objects after each + sweep phase, instead of paint them to White. The key idea are still same as + the traditional generational GC: + + * Minor GC - just traverse the Young objects (Gray objects) in the mark + phase, then only sweep the newly created objects, and leave + the Old objects live. + + * Major GC - same as a full round of regular GC. + + For details, see the comments for each function. */ -- cgit v1.2.3