summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-objectspace
diff options
context:
space:
mode:
Diffstat (limited to 'mrbgems/mruby-objectspace')
-rw-r--r--mrbgems/mruby-objectspace/README.md4
-rw-r--r--mrbgems/mruby-objectspace/src/mruby_objectspace.c45
2 files changed, 21 insertions, 28 deletions
diff --git a/mrbgems/mruby-objectspace/README.md b/mrbgems/mruby-objectspace/README.md
deleted file mode 100644
index 7669c9d7f..000000000
--- a/mrbgems/mruby-objectspace/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-MRuby ObjectSpace Implementation
-=========
-
-Currently only supports count_objects \ No newline at end of file
diff --git a/mrbgems/mruby-objectspace/src/mruby_objectspace.c b/mrbgems/mruby-objectspace/src/mruby_objectspace.c
index 0dc94d792..21e623823 100644
--- a/mrbgems/mruby-objectspace/src/mruby_objectspace.c
+++ b/mrbgems/mruby-objectspace/src/mruby_objectspace.c
@@ -1,10 +1,28 @@
-#include <stdio.h>
-
#include <mruby.h>
#include <mruby/gc.h>
#include <mruby/hash.h>
#include <mruby/value.h>
+struct os_count_struct {
+ size_t total;
+ size_t freed;
+ size_t counts[MRB_TT_MAXDEFINE+1];
+};
+
+void
+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);
+
+ if (is_dead(mrb, obj)) {
+ obj_count->freed++;
+ } else {
+ obj_count->counts[obj->tt]++;
+ obj_count->total++;
+ }
+}
+
/*
* call-seq:
* ObjectSpace.count_objects([result_hash]) -> hash
@@ -25,25 +43,6 @@
*
*/
-struct os_count_struct {
- size_t total;
- size_t freed;
- size_t counts[MRB_TT_MAXDEFINE+1];
-};
-
-void 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);
-
- if (is_dead(mrb, obj)) {
- obj_count->freed++;
- } else {
- obj_count->counts[obj->tt]++;
- obj_count->total++;
- }
-}
-
mrb_value
os_count_objects(mrb_state *mrb, mrb_value self)
{
@@ -109,12 +108,10 @@ os_count_objects(mrb_state *mrb, mrb_value self)
void
mrb_mruby_objectspace_gem_init(mrb_state* mrb) {
- struct RClass *os;
- os = mrb_define_module(mrb, "ObjectSpace");
+ struct RClass *os = mrb_define_module(mrb, "ObjectSpace");
mrb_define_class_method(mrb, os, "count_objects", os_count_objects, MRB_ARGS_ANY());
}
void
mrb_mruby_objectspace_gem_final(mrb_state* mrb) {
- // finalizer
}