Commit 008aec2b authored by Ryan Scott's avatar Ryan Scott

Cleanup of mruby_objectspace.c and removed the unneccessary README for mruby_objectspace.

parent 43d2fe80
MRuby ObjectSpace Implementation
=========
Currently only supports count_objects
\ No newline at end of file
#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
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment