diff options
| author | Ryan Scott <[email protected]> | 2013-05-17 07:41:13 +1000 |
|---|---|---|
| committer | Ryan Scott <[email protected]> | 2013-05-17 07:41:13 +1000 |
| commit | f62cc5b1eebb29d244977c6030c04d9cb8ebefba (patch) | |
| tree | 188d07664a7a32ae8e229bfb75028d9a5afcc598 /include | |
| parent | 222918deae84ae8dda26aa769bf3cc6b68e3aeec (diff) | |
| download | mruby-f62cc5b1eebb29d244977c6030c04d9cb8ebefba.tar.gz mruby-f62cc5b1eebb29d244977c6030c04d9cb8ebefba.zip | |
Changed the object_count so that it only iterates over the RBasic object, not the full RVALUE known by the GC
Diffstat (limited to 'include')
| -rw-r--r-- | include/mruby/gc.h | 33 |
1 files changed, 2 insertions, 31 deletions
diff --git a/include/mruby/gc.h b/include/mruby/gc.h index 00564c4fa..552321be2 100644 --- a/include/mruby/gc.h +++ b/include/mruby/gc.h @@ -12,38 +12,9 @@ extern "C" { #endif #include "mruby.h" -#include "mruby/array.h" -#include "mruby/class.h" -#include "mruby/data.h" -#include "mruby/hash.h" -#include "mruby/proc.h" -#include "mruby/range.h" -#include "mruby/string.h" -#include "mruby/variable.h" +#include "mruby/value.h" -struct free_obj { - MRB_OBJECT_HEADER; - struct RBasic *next; -}; - -struct RVALUE { - union { - struct free_obj free; - struct RBasic basic; - struct RObject object; - struct RClass klass; - struct RString string; - struct RArray array; - struct RHash hash; - struct RRange range; - struct RData data; - struct RProc proc; - } as; -}; - -typedef struct RVALUE RVALUE; - -typedef int each_object_callback(RVALUE *obj, void *data); +typedef int each_object_callback(mrb_state *mrb, struct RBasic obj, void *data); void mrb_objspace_each_objects(mrb_state *mrb, each_object_callback* callback, void *data); #if defined(__cplusplus) |
