emacs-devel
[Top][All Lists]
Advanced

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

Re: t and nil in pure memory?


From: Stefan Monnier
Subject: Re: t and nil in pure memory?
Date: Thu, 12 Nov 2009 10:22:05 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux)

>> > The last GC before dumping generates 200K calls to mark_object, of those
>> > 20K have Qt or Qnil as an argument.
>> 
>> > Would it make sense to put Qt and Qnil in pure memory?
>> 
>> No, because they may contain pointers to objects that aren't in pure
>> memory (via the plist).

> In principle, you could scratch the plist slot from symbols themselves,
> and instead make `symbol-plist' go over an EQ hash-table. (Such
> externalizing of the symbol plist may make more sense in other dialects
> of Lisp where the plist is used less often than in Elisp -- even though
> I'm not aware of any implementation which does.)

Actually, it's even worse than that: (interned) symbols have a `next'
field which points to the next symbol in the obarray (hash) bucket.
So that's yet another reason why (pure)symbols can have pointers to non
pure memory.


        Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]