From c4f14755a78e68b405c58b2dfbc6447dcec8588c Mon Sep 17 00:00:00 2001 From: take_cheeze Date: Sun, 6 Apr 2014 18:13:29 +0900 Subject: Always increment `total` field of `os_count_struct` in callback. Check sum of `ObjectSpace.count_objects` values is twice of total objects count. (Which is CRuby's behavior.) --- mrbgems/mruby-objectspace/src/mruby_objectspace.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'mrbgems/mruby-objectspace/src/mruby_objectspace.c') diff --git a/mrbgems/mruby-objectspace/src/mruby_objectspace.c b/mrbgems/mruby-objectspace/src/mruby_objectspace.c index 9871663fb..7d3b0b74e 100644 --- a/mrbgems/mruby-objectspace/src/mruby_objectspace.c +++ b/mrbgems/mruby-objectspace/src/mruby_objectspace.c @@ -15,12 +15,13 @@ os_count_object_type(mrb_state *mrb, struct RBasic *obj, void *data) struct os_count_struct *obj_count; obj_count = (struct os_count_struct*)data; + obj_count->total++; + if (is_dead(mrb, obj)) { obj_count->freed++; } else { obj_count->counts[obj->tt]++; - obj_count->total++; } } -- cgit v1.2.3