unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Question about symbol_free_list
@ 2011-12-29  0:14 Qiang Guo
  2011-12-30 11:41 ` Stefan Monnier
  0 siblings, 1 reply; 2+ messages in thread
From: Qiang Guo @ 2011-12-29  0:14 UTC (permalink / raw)
  To: emacs-devel


Hi, 

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 ?

Thanks




^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Question about symbol_free_list
  2011-12-29  0:14 Question about symbol_free_list Qiang Guo
@ 2011-12-30 11:41 ` Stefan Monnier
  0 siblings, 0 replies; 2+ messages in thread
From: Stefan Monnier @ 2011-12-30 11:41 UTC (permalink / raw)
  To: Qiang Guo; +Cc: emacs-devel

> 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



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-12-30 11:41 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-29  0:14 Question about symbol_free_list Qiang Guo
2011-12-30 11:41 ` Stefan Monnier

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).