From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Michael Livshin Newsgroups: gmane.lisp.guile.devel Subject: Re: lazy sweeping. Date: Mon, 29 Jul 2002 16:00:08 +0300 Organization: The Church of God the Utterly Indifferent Sender: guile-devel-admin@gnu.org Message-ID: References: <15684.32520.154258.348830@blauw.xs4all.nl> <15685.3950.266394.345360@meddo.cs.uu.nl> <15685.14250.901905.318924@meddo.cs.uu.nl> NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1027947641 7848 127.0.0.1 (29 Jul 2002 13:00:41 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 29 Jul 2002 13:00:41 +0000 (UTC) Return-path: Original-Received: from fencepost.gnu.org ([199.232.76.164]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 17ZA8d-00022S-00 for ; Mon, 29 Jul 2002 15:00:39 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.35 #1 (Debian)) id 17ZA92-0007XN-00; Mon, 29 Jul 2002 09:01:04 -0400 Original-Received: from main.gmane.org ([80.91.224.249]) by fencepost.gnu.org with esmtp (Exim 3.35 #1 (Debian)) id 17ZA8A-0007WS-00 for ; Mon, 29 Jul 2002 09:00:10 -0400 Original-Received: from list by main.gmane.org with local (Exim 3.33 #1 (Debian)) id 17ZA7g-00020D-00 for ; Mon, 29 Jul 2002 14:59:40 +0200 Original-To: guile-devel@gnu.org X-Injected-Via-Gmane: http://gmane.org/ Original-Received: from news by main.gmane.org with local (Exim 3.33 #1 (Debian)) id 17ZA7g-000205-00 for ; Mon, 29 Jul 2002 14:59:40 +0200 Original-Path: not-for-mail Original-Newsgroups: gmane.lisp.guile.devel Original-Lines: 30 Original-NNTP-Posting-Host: laredo.verisity.com Original-X-Trace: main.gmane.org 1027947580 7081 212.150.223.230 (29 Jul 2002 12:59:40 GMT) Original-X-Complaints-To: usenet@main.gmane.org Original-NNTP-Posting-Date: Mon, 29 Jul 2002 12:59:40 +0000 (UTC) Mail-copies-to: never User-Agent: Gnus/5.090006 (Oort Gnus v0.06) XEmacs/21.4 (Honest Recruiter, i686-pc-linux) Cancel-Lock: sha1:4k3YH6E389hANvpfGMsTkEtQaeY= Errors-To: guile-devel-admin@gnu.org X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Developers list for Guile, the GNU extensibility library List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.lisp.guile.devel:879 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:879 Han-Wen Nienhuys writes: > guile@cmm.kakpryg.net writes: >> if I remember correctly, Guile has some logic to cope with suddenly >> running out of file descriptors: it calls GC in the hope that some >> port objects are unreachable. >> >> I guess now you don't have to nesessarily do a full GC right away, >> instead you may want to finish the sweep first and see if that helps, >> and only do a new GC if finishing the sweep haven't helped. hmm. so >> that's not as fiddly as I thought, and probably works as it is. >> >> ditto for malloced memory, I guess. > > Hrm. I'll have to add some more logic then -- we want to be able to > completely clean the heap, but not advance the "free mem starts here" > pointer. What would be the right behavior: doing a full sweep, or a > mark + full sweep? Or maybe just both (first the full sweep, if it > doesn't yield enough: the full mark.) that's what I've meant, yes. however, it's just as optimization, and the occurences where it might theoretically matter (system heap exhaustion or running out of file descriptors) could probably be considered to be rare enough. as long as you take care to finish the last sweep before marking, you should be fine, correctness-wise. -- REALITY is an illusion that stays put. _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel