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.
This commit is contained in:
Matthew Flatt 2014-02-28 10:58:10 -07:00
parent 43d1d99656
commit efa199184c

View File

@ -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;