From 002fa2859962f22de8afdbeece04966ea57b7da9 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Wed, 29 Dec 2021 16:15:36 +0900 Subject: [PATCH] On 64bit macOS, enlarge heap pages to reduce mmap calls [Bug #18447] --- gc.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gc.c b/gc.c index a5369c28f1..bbc5c40e90 100644 --- a/gc.c +++ b/gc.c @@ -847,8 +847,15 @@ typedef struct rb_objspace { } rb_objspace_t; +#if defined(__APPLE__) && defined(__LP64__) && !defined(HEAP_PAGE_ALIGN_LOG) +/* for slow mmap: 64KiB */ +#define HEAP_PAGE_ALIGN_LOG 16 +#endif + +#ifndef HEAP_PAGE_ALIGN_LOG /* default tiny heap size: 16KB */ #define HEAP_PAGE_ALIGN_LOG 14 +#endif #define CEILDIV(i, mod) (((i) + (mod) - 1)/(mod)) enum { HEAP_PAGE_ALIGN = (1UL << HEAP_PAGE_ALIGN_LOG),