From 889ec5885e0113e3851c9651460b652176bce2b3 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Wed, 20 Sep 2017 13:32:20 +0000 Subject: [PATCH] Removing "magic numbers" for GC heap size --- gc.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gc.c b/gc.c index 0d039693..6fdf7f82 100644 --- a/gc.c +++ b/gc.c @@ -26,6 +26,10 @@ #include /* Linux-only? */ #endif +// 64-bit is 3, 32-bit is 2 +#define GC_BLOCK_BITS 5 +#define GC_BLOCK_SIZE (1 << GC_BLOCK_BITS) + /* HEAP definitions, based off heap from Chibi scheme */ #define gc_heap_first_block(h) ((object)(h->data + gc_heap_align(gc_free_chunk_size))) #define gc_heap_last_block(h) ((object)((char*)h->data + h->size - gc_heap_align(gc_free_chunk_size))) @@ -34,9 +38,9 @@ #define gc_free_chunk_size (sizeof(gc_free_list)) #define gc_align(n, bits) (((n)+(1<<(bits))-1)&(((uintptr_t)-1)-((1<<(bits))-1))) -// 64-bit is 3, 32-bit is 2 + //#define gc_word_align(n) gc_align((n), 2) -#define gc_heap_align(n) gc_align(n, 5) +#define gc_heap_align(n) gc_align(n, GC_BLOCK_BITS) #if INTPTR_MAX == INT64_MAX #define REST_HEAP_MIN_SIZE 128