Dear Marc,<div><br></div><div>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).</div><div><br></div><div>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.</div>




<div><br></div><div>In relation with this, I wish to query you:<br><div><br></div><div> * Is there any way to enumerate all objects on Gambit's heap, so that I can mark them as permanent?</div><div><br></div><div> * 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.)</div>




<div><br></div><div><br>Also, though not equally centrally:<br><br> * 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.<br>

<br></div><div><div> * Does Gambit use to do malloc:s with some particular size? Is it configurable?</div></div><div><br></div><div> * 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?<br>

</div>
<div><br></div><div> * 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?<br>

<br> * For study of the GC in lib/mem.c :<br>     * What is the name of the entry point procedure to GC (I suppose, the C correspondent to ##gc)?<br>     * 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?<br>

</div>

<div><br></div><div>Many thanks,<br></div><div>Mikael</div><div><br></div></div>