diff --git a/src/mzscheme/gc2/newgc.c b/src/mzscheme/gc2/newgc.c index 862837c137..4d1373befd 100644 --- a/src/mzscheme/gc2/newgc.c +++ b/src/mzscheme/gc2/newgc.c @@ -249,7 +249,7 @@ inline static void pagemap_set(PageMap page_maps1, void *p, mpage *value) { pos = PAGEMAP64_LEVEL1_BITS(p); page_maps2 = page_maps1[pos]; - if (!page_maps) { + if (!page_maps2) { page_maps2 = (mpage ***)calloc(PAGEMAP64_LEVEL2_SIZE, sizeof(mpage **)); page_maps1[pos] = page_maps2; } diff --git a/src/mzscheme/gc2/platforms.h b/src/mzscheme/gc2/platforms.h index 6b91d5cb10..a5868477e9 100644 --- a/src/mzscheme/gc2/platforms.h +++ b/src/mzscheme/gc2/platforms.h @@ -4,6 +4,14 @@ # define inline _inline #endif +#include "../mzconfig.h" + +#ifdef SIZEOF_LONG +# if SIZEOF_LONG == 8 +# define SIXTY_FOUR_BIT_INTEGERS +# endif +#endif + #if defined(sparc) || defined(__sparc) || defined(__sparc__) /* Required for `double' operations: */ # define GC_ALIGN_EIGHT