diff --git a/include/mruby/gc.h b/include/mruby/gc.h index 9f9bba410..db2d5ad4a 100644 --- a/include/mruby/gc.h +++ b/include/mruby/gc.h @@ -48,7 +48,6 @@ typedef struct mrb_heap_page { struct mrb_heap_page *free_next; struct mrb_heap_page *free_prev; mrb_bool old:1; - void *objects[]; } mrb_heap_page; #ifdef _MSC_VER diff --git a/src/gc.c b/src/gc.c index a6ff0c588..0e7f1cfcb 100644 --- a/src/gc.c +++ b/src/gc.c @@ -214,7 +214,7 @@ mrb_static_assert(MRB_GC_RED <= GC_COLOR_MASK); #define other_white_part(s) ((s)->current_white_part ^ GC_WHITES) #define is_dead(s, o) (((o)->color & other_white_part(s) & GC_WHITES) || (o)->tt == MRB_TT_FREE) -#define objects(p) ((RVALUE *)p->objects) +#define objects(p) ((RVALUE *)&p[1]) mrb_noreturn void mrb_raise_nomemory(mrb_state *mrb);