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

[no subject]



    Date: 16 January 1981 09:42-EST
    From: Jeffrey P. Golden <JPG at MIT-MC>
    To: BUG-LISP at MIT-MC
    cc: ASB at MIT-MC
    
    How about if one of you answer this for ASB:
From:        ASB@MIT-MC
Date: Thu, 16 Jan 81 06:37:30 GMT
Original-Date: 01/16/81 02:37:30 EDT
Subject: Re: Garbage question
       Just now I was running a longish computation and out of curiosity hit ^D
       to see if I could determine whether I was in trouble or not.  Turned out 
       not, but I noticed that very often the following message would be printed
       prior to a Garbage collection:
       ADDING A NEW LIST SEGMENT--BUT DIDN'T SUCCEED.
       I guess that this means that there is no free memory left, which I am not
       surprised to learn.  But I was wondering why the information that no list
       segments could be added anymore was not available to whomever it was that
       was trying to add them.  Or does my question merely reveal my ignorance?
       Seems to me that once segment adding fails, it will fail forever after.
       Is that not true?
LISP tries to add segments when it sees after a GC that there is less space
than is 'optimal'.  If it can't get any more, yes, it will keep failing to
add more, and will just have to GC more.  There is no reason why the GC should
remember the fact that it failed before since it's just a trivial scan of
the segment table to see that there's no room, and there's certainly no reason
why CONS or whoever caused the GC should ever be told about it, since the GC
did find something for it.