gc.h: move mrb_heap_page definition to gc.c

This commit is contained in:
Yukihiro "Matz" Matsumoto
2023-09-03 23:03:50 +09:00
parent acf5b74daa
commit e8841fbf58
2 changed files with 11 additions and 11 deletions
+2 -11
View File
@@ -41,22 +41,13 @@ typedef enum {
#pragma warning(disable : 4200)
#endif
typedef struct mrb_heap_page {
struct RBasic *freelist;
struct mrb_heap_page *prev;
struct mrb_heap_page *next;
mrb_bool old:1;
/* Flexible array members area a C99 feature, not C++ compatible */
/* void* objects[]; */
} mrb_heap_page;
#ifdef _MSC_VER
#pragma warning(pop)
#endif
typedef struct mrb_gc {
mrb_heap_page *heaps; /* heaps for GC */
mrb_heap_page *sweeps; /* page where sweep starts */
struct mrb_heap_page *heaps; /* heaps for GC */
struct mrb_heap_page *sweeps; /* page where sweep starts */
struct RBasic *gray_list; /* list of gray objects to be traversed incrementally */
struct RBasic *atomic_gray_list; /* list of objects to be traversed atomically */
size_t live; /* count of live objects */
+9
View File
@@ -148,6 +148,15 @@ typedef struct {
#define MRB_HEAP_PAGE_SIZE 1024
#endif
typedef struct mrb_heap_page {
struct RBasic *freelist;
struct mrb_heap_page *prev;
struct mrb_heap_page *next;
mrb_bool old:1;
/* Flexible array members area a C99 feature, not C++ compatible */
/* void* objects[]; */
} mrb_heap_page;
#define GC_STEP_SIZE 1024
/* white: 001 or 010, black: 100, gray: 000, red:111 */