summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-objectspace/src
diff options
context:
space:
mode:
authortake_cheeze <[email protected]>2014-04-06 18:13:29 +0900
committertake_cheeze <[email protected]>2014-04-06 18:13:29 +0900
commitc4f14755a78e68b405c58b2dfbc6447dcec8588c (patch)
tree95368addeba71e17216d782a5fce8b48cfbfbeaa /mrbgems/mruby-objectspace/src
parent63dc51c2f90b435361491582aa380bbb5d0476fd (diff)
downloadmruby-c4f14755a78e68b405c58b2dfbc6447dcec8588c.tar.gz
mruby-c4f14755a78e68b405c58b2dfbc6447dcec8588c.zip
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.)
Diffstat (limited to 'mrbgems/mruby-objectspace/src')
-rw-r--r--mrbgems/mruby-objectspace/src/mruby_objectspace.c3
1 files changed, 2 insertions, 1 deletions
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++;
}
}