[gambit-list] GC-related questions

Mikael mikael.rcv at gmail.com
Sun May 22 07:33:24 EDT 2011

Dear Marc,

I have a certain GC time incurred on each GC, because on the gambit heap
there's lots of procedures and maybe some closures produced by (eval).

Those procedures will stay there forever, so I'd like to mark them as
PERMANENT to the GC, so that they will stop taking time for the GC on each
of its iterations.

In relation with this, I wish to query you:

 * Is there any way to enumerate all objects on Gambit's heap, so that I can
mark them as permanent?

 * Is there any way to resolve all GC dependencies that an object has? (So
that I could dig out all the dependencies on the heap for those procedures
and closures, and mark them as permanent that way.)

Also, though not equally centrally:

 * How do I enable the ___DEBUG_ALLOC_MEM_TRACE define in lib/os.h? By
switching  the #define ___DEBUG_ALLOC_MEM_TRACE_not line to #define
___DEBUG_ALLOC_MEM_TRACE  and then ./configure --enable-single-host
--enable-debug ; make? When I do this, compilation fails.

 * Does Gambit use to do malloc:s with some particular size? Is it

 * For Gambit's copying GC to work out, does it generally malloc space
enough for the active heap + a copy of it, or does it have this ~2x the
active heap space allocated only during gc:s and free the inactive space at
the end of the iteration?

 * How is it, for objects on the heap above a certain size, Gambit makes a
separate malloc, and does not move them on GC anyhow, so there'd be no point
in marking them as permanent anyhow - what's this limit?

 * For study of the GC in lib/mem.c :
     * What is the name of the entry point procedure to GC (I suppose, the C
correspondent to ##gc)?
     * Is this the only entry point procedure to the GC, or are there other
entry points also, for instance some procedure to check if it's time to make
a GC already, if so which is this procedure/are these procedures?

Many thanks,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.iro.umontreal.ca/pipermail/gambit-list/attachments/20110522/cd150a93/attachment.htm>

More information about the Gambit-list mailing list