diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-05-27 17:46:20 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-05-27 17:46:20 +0000 |
commit | 8a81b54a2b9cf5349c882659fd3b2bc7995bc633 (patch) | |
tree | 68c239be1745f00411b2d4008924c98bf13769a4 | |
parent | c180e0d8801a8fb1f4d900d6a7e36ccb7d4f557e (diff) | |
download | ruby-8a81b54a2b9cf5349c882659fd3b2bc7995bc633.tar.gz |
* 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.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-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; |