From efa199184c25e6da19aa1fba1aa51ab19f2682a4 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Fri, 28 Feb 2014 10:58:10 -0700 Subject: [PATCH] fix bignum allocation Space used by GMP needs to be immobile, and the allocation path on 3m still used a strategy of allocating page-sized blocks; the GC now provides much better support for small, immobile blocks. --- racket/src/racket/src/thread.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/racket/src/racket/src/thread.c b/racket/src/racket/src/thread.c index 2f09739302..cdf7ec09df 100644 --- a/racket/src/racket/src/thread.c +++ b/racket/src/racket/src/thread.c @@ -8968,12 +8968,7 @@ void *scheme_malloc_gmp(uintptr_t amt, void **mem_pool) { void *p, *mp; -#ifdef MZ_PRECISE_GC - if (amt < GC_malloc_stays_put_threshold()) - amt = GC_malloc_stays_put_threshold(); -#endif - - p = scheme_malloc_atomic(amt); + p = scheme_malloc_atomic_allow_interior(amt); mp = scheme_make_raw_pair(p, *mem_pool); *mem_pool = mp;