summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/gc.c16
1 files changed, 15 insertions, 1 deletions
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.
*/