mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
gc.c (mrb_obj_alloc): remove free_next,free_prev from heap pages
It used to be maintain heap pages with allocatable objects (free_heaps) but we can save two words (16 bytes) per page by scanning live heap pages.
This commit is contained in:
@@ -45,8 +45,6 @@ typedef struct mrb_heap_page {
|
||||
struct RBasic *freelist;
|
||||
struct mrb_heap_page *prev;
|
||||
struct mrb_heap_page *next;
|
||||
struct mrb_heap_page *free_next;
|
||||
struct mrb_heap_page *free_prev;
|
||||
mrb_bool old:1;
|
||||
/* Flexible array members area a C99 feature, not C++ compatible */
|
||||
/* void* objects[]; */
|
||||
@@ -59,7 +57,6 @@ typedef struct mrb_heap_page {
|
||||
typedef struct mrb_gc {
|
||||
mrb_heap_page *heaps; /* heaps for GC */
|
||||
mrb_heap_page *sweeps; /* page where sweep starts */
|
||||
mrb_heap_page *free_heaps;
|
||||
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 */
|
||||
|
||||
Reference in New Issue
Block a user