* 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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.