guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Latent bugs?


From: Neil Jerram
Subject: Re: Latent bugs?
Date: 28 Dec 2002 19:06:11 +0000
User-agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7

>>>>> "Lynn" == Lynn Winebarger <address@hidden> writes:

    Lynn> On Saturday 28 December 2002 13:35, Marko Rauhamaa wrote:
    >> 
    >> I took a glance at gc_os_dep.c and I was surprised. It appears the GC
    >> actually sweeps through all data segments, the stack segment and CPU
    >> registers and heuristically locates pointers into the heap. I've used
    >> that technique myself before, but I wouldn't have thought that was an
    >> effective way of implementing a Lisp machine.
    >> 
    >> The Guile manual doesn't state that basically all writable memory of a
    >> process participates in GC:
    >> 
    >> 
http://www.gnu.org/software/guile/docs/guile-ref/Memory-Management.html#Memory%20Management

    Lynn>       Guile's GC got an overhaul earlier this year.  I don't know how
    Lynn> well the documentation reflects that.
    Lynn>        Anybody?

Barring a more major overhaul than I'm aware of, it is not the case
that all writable memory participates in GC.  Just the stack, heap
segments (of SCM cells) allocated by Guile, and any specially
registered roots.

gc_os_dep.c (which comes from the Boehm GC) is only there because it
includes code for finding the base of the stack on lots of OS's.
Other things in gc_os_dep.c don't necessarily describe how Guile's GC
works.

        Neil




reply via email to

[Prev in Thread] Current Thread [Next in Thread]