From c1469a57a2639a3b76a8f4b031ae73f04990891c Mon Sep 17 00:00:00 2001 From: fleuria Date: Thu, 1 Aug 2013 17:30:57 +0800 Subject: add comment for clear_all_old() --- src/gc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/gc.c b/src/gc.c index 8569cc085..8d0ad5500 100644 --- a/src/gc.c +++ b/src/gc.c @@ -941,11 +941,15 @@ clear_all_old(mrb_state *mrb) incremental_gc_until(mrb, GC_STATE_NONE); } + /* Sweep the dead objects, then reset all the live objects + * (including all the old objects, of course) to white. */ mrb->is_generational_gc_mode = FALSE; prepare_incremental_sweep(mrb); incremental_gc_until(mrb, GC_STATE_NONE); - mrb->atomic_gray_list = mrb->gray_list = NULL; mrb->is_generational_gc_mode = origin_mode; + + /* The gray objects has already been painted as white */ + mrb->atomic_gray_list = mrb->gray_list = NULL; } void -- cgit v1.2.3 From 107906e3cb1d7f538bdecba9b171502a682cde0f Mon Sep 17 00:00:00 2001 From: fleuria Date: Thu, 1 Aug 2013 17:33:22 +0800 Subject: revise the comment in mrb_full_gc() the old comment "clean all the black object as old" looks confusing, it looks like "transform black object to old object", but indeed black is old, --- src/gc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gc.c b/src/gc.c index 8d0ad5500..f8e4a3b20 100644 --- a/src/gc.c +++ b/src/gc.c @@ -1002,7 +1002,7 @@ mrb_full_gc(mrb_state *mrb) incremental_gc_until(mrb, GC_STATE_NONE); } - /* clean all black object as old */ + /* clear all the old objects back to young */ if (is_generational(mrb)) { clear_all_old(mrb); mrb->gc_full = TRUE; -- cgit v1.2.3