diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | gc.c | 8 |
2 files changed, 11 insertions, 4 deletions
@@ -1,3 +1,10 @@ +Tue May 28 02:44:23 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (garbage_collect_body): fix GC_ENABLE_LAZY_SWEEP condition. + + * gc.c (GC_NOTIFY): move debug print location and use stderr instead + of stdout. + Tue May 28 02:07:21 2013 Koichi Sasada <ko1@atdot.net> * vm_trace.c (rb_postponed_job_register_one): fix iteration bug. @@ -3805,7 +3805,7 @@ garbage_collect_body(rb_objspace_t *objspace, int full_mark, int immediate_sweep } } - if (GC_ENABLE_LAZY_SWEEP || objspace->flags.dont_lazy_sweep) { + if (!GC_ENABLE_LAZY_SWEEP || objspace->flags.dont_lazy_sweep) { immediate_sweep = TRUE; } @@ -3813,6 +3813,8 @@ garbage_collect_body(rb_objspace_t *objspace, int full_mark, int immediate_sweep objspace->rgengc.oldgen_object_count = 0; } + if (GC_NOTIFY) fprintf(stderr, "start garbage_collect(%d, %d, %d)\n", full_mark, immediate_sweep, reason); + gc_event_hook(objspace, RUBY_INTERNAL_EVENT_GC_START, 0 /* TODO: pass minor/immediate flag? */); gc_prof_timer_start(objspace, reason | (minor_gc ? GPR_FLAG_MINOR : 0)); @@ -3824,15 +3826,13 @@ garbage_collect_body(rb_objspace_t *objspace, int full_mark, int immediate_sweep } gc_prof_timer_stop(objspace); - if (GC_NOTIFY) printf("end garbage_collect()\n"); + if (GC_NOTIFY) fprintf(stderr, "end garbage_collect()\n"); return TRUE; } static int garbage_collect(rb_objspace_t *objspace, int full_mark, int immediate_sweep, int reason) { - if (GC_NOTIFY) printf("start garbage_collect(%d, %d, %d)\n", full_mark, immediate_sweep, reason); - if (!heaps) { during_gc = 0; return FALSE; |