diff options
| -rw-r--r-- | include/mruby/gc.h | 12 | ||||
| -rw-r--r-- | mrbgems/mruby-objectspace/src/mruby_objectspace.c | 6 | ||||
| -rw-r--r-- | src/gc.c | 2 |
3 files changed, 6 insertions, 14 deletions
diff --git a/include/mruby/gc.h b/include/mruby/gc.h index 552321be2..0c19275ba 100644 --- a/include/mruby/gc.h +++ b/include/mruby/gc.h @@ -1,5 +1,5 @@ /* -** gc.c - garbage collector for mruby +** gc.h - garbage collector for mruby ** ** See Copyright Notice in mruby.h */ @@ -7,18 +7,10 @@ #ifndef MRUBY_GC_H #define MRUBY_GC_H -#if defined(__cplusplus) -extern "C" { -#endif - #include "mruby.h" #include "mruby/value.h" -typedef int each_object_callback(mrb_state *mrb, struct RBasic 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) -} /* extern "C" { */ -#endif - #endif /* MRUBY_GC_H */ diff --git a/mrbgems/mruby-objectspace/src/mruby_objectspace.c b/mrbgems/mruby-objectspace/src/mruby_objectspace.c index cf3cf631f..10934c83f 100644 --- a/mrbgems/mruby-objectspace/src/mruby_objectspace.c +++ b/mrbgems/mruby-objectspace/src/mruby_objectspace.c @@ -31,12 +31,12 @@ struct os_count_struct { size_t counts[MRB_TT_MAXDEFINE+1]; }; -void os_count_object_type(mrb_state *mrb, struct RBasic obj, void *data) +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); - obj_count->counts[mrb_type(obj)]++; - if (is_dead(mrb, &obj)) + obj_count->counts[obj->tt]++; + if (is_dead(mrb, obj)) { obj_count->freed++; } @@ -1153,7 +1153,7 @@ mrb_objspace_each_objects(mrb_state *mrb, each_object_callback* callback, void * p = page->objects; pend = p + MRB_HEAP_PAGE_SIZE; for (;p < pend; p++) { - callback(mrb, p->as.basic, data); + callback(mrb, &p->as.basic, data); } page = page->next; |
