[racket-dev] Questions about the GC code

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Tue Jul 15 01:00:38 EDT 2014

The "gc" directory is Boehm's GC. We've modified it a little (grep for
"PLTSCHEME"), but we try not to maintain the GC itself, except to
upgrade every once in a while.

See

  http://www.hboehm.info/gc/

for the latest version, the mailing list, etc.

I should look again at making Racket work with a stock build of Boehm's
GC, so we can get out of the business of upgrading and modifying it. So
far, it has been easier to upgrade occasionally than to sort that out.

Meanwhile, Racket includes a slower and more portable "SGC" for
building the conservative-GC variant of Racket. You can enable it with
`--enable-sgc` as a flag to `configure`. Probably we should switch to
SGC as the default, since RacketCGC is now mainly used just to build
normal Racket.

At Tue, 15 Jul 2014 04:37:45 +0200, Juan Francisco Cantero Hurtado wrote:
> I've been reading the code of the files gc/os_dep.c and 
> gc/include/private/gcconfig.h. I've some questions related to OpenBSD.
> 
> ---
> 
> In the X86_64 config, the file defines STACKBOTTOM and HEURISTIC2 
> (unused because racket picks STACKBOTTOM). What's the preferred?. I'm 
> asking because I don't know if the adding of HEURISTIC2 was an error or 
> really there a good reason to select one or other.
> 
> ---
> 
> There is some recommended benchmark to test the performance of MMAP vs 
> sbrk? I've tried both with generic code and I don't see the difference.
> 
> ---
> 
> OpenBSD only supports MIPS64. Should I add ELFCLASS64 to the MIPS block 
> within gcconfig.h?
> 
> 
> _________________________
>   Racket Developers list:
>   http://lists.racket-lang.org/dev

Posted on the dev mailing list.