From 87c0b99446b0aa2265e25d0cf06ba5676e1683a9 Mon Sep 17 00:00:00 2001 From: ko1 Date: Thu, 28 Oct 2010 14:34:06 +0000 Subject: * gc.c (before_gc_sweep, run_final): fix decrement timing of final_num. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ gc.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index b9e742ac64..523278a403 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Thu Oct 28 23:31:39 2010 Koichi Sasada + + * gc.c (before_gc_sweep, run_final): fix decrement timing of final_num. + Thu Oct 28 20:11:30 2010 NARUSE, Yui * tool/enc-unicode.rb, diff --git a/gc.c b/gc.c index 47dcf2efc8..d7aa3404a1 100644 --- a/gc.c +++ b/gc.c @@ -2026,7 +2026,6 @@ before_gc_sweep(rb_objspace_t *objspace) } objspace->heap.sweep_slots = heaps; objspace->heap.free_num = 0; - objspace->heap.final_num = 0; } static void @@ -2871,6 +2870,8 @@ run_final(rb_objspace_t *objspace, VALUE obj) RUBY_DATA_FUNC free_func = 0; st_data_t key, table; + objspace->heap.final_num--; + objid = rb_obj_id(obj); /* make obj into id */ RBASIC(obj)->klass = 0; -- cgit v1.2.3