From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Question about symbol_free_list Date: Fri, 30 Dec 2011 06:41:05 -0500 Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1325325356 31847 80.91.229.12 (31 Dec 2011 09:55:56 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 31 Dec 2011 09:55:56 +0000 (UTC) Cc: emacs-devel@gnu.org To: Qiang Guo Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Dec 31 10:55:50 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RgvfJ-0007nr-6v for ged-emacs-devel@m.gmane.org; Sat, 31 Dec 2011 10:55:49 +0100 Original-Received: from localhost ([::1]:41833 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RgvfI-000344-5w for ged-emacs-devel@m.gmane.org; Sat, 31 Dec 2011 04:55:48 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:46207) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RgvfF-00033m-2P for emacs-devel@gnu.org; Sat, 31 Dec 2011 04:55:45 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RgvfE-0003A9-4h for emacs-devel@gnu.org; Sat, 31 Dec 2011 04:55:45 -0500 Original-Received: from chene.dit.umontreal.ca ([132.204.246.20]:47045) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RgvfD-00039w-Ve for emacs-devel@gnu.org; Sat, 31 Dec 2011 04:55:44 -0500 Original-Received: from ceviche.home (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id pBV9tdO3025587; Sat, 31 Dec 2011 04:55:41 -0500 Original-Received: by ceviche.home (Postfix, from userid 20848) id 16696662E3; Fri, 30 Dec 2011 06:41:05 -0500 (EST) In-Reply-To: (Qiang Guo's message of "Wed, 28 Dec 2011 17:14:16 -0700") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.92 (gnu/linux) X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0.5 X-NAI-Spam-Rules: 2 Rules triggered DATE_IN_PAST_12_24=0.5, RV4087=0 X-NAI-Spam-Version: 2.2.0.9309 : core <4087> : streams <715371> : uri <1038015> X-NAI-Spam-Level: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 132.204.246.20 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:147079 Archived-At: > When reading the gc_sweep(), I found symbol_free_list is set to NULL > everytime garbage collector kicks in. My understanding of this variable > is it holds up some free symbols and when Emacs is asked to allocate a > symbol object, it will first look into this list to see if there is one > available. It serves as kinda 'buffer'. My question is if > symbol_free_list is not empty when gc_sweep sets it to NULL, how about > the symbol objects in the list ? Where happened to them ? IIRC the gc_sweep will traverse all blocks of symbols and will hence find all the free symbols (both those that were already free before and those that were discovered by the GC). Stefan