* 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
This commit is contained in:
ko1 2013-05-27 17:46:20 +00:00
parent c180e0d880
commit 8a81b54a2b
2 changed files with 11 additions and 4 deletions

View File

@ -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.

8
gc.c
View File

@ -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;