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: David Kastrup
Subject: Re: t and nil in pure memory?
Date: Sun, 15 Nov 2009 21:25:12 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux)

Stefan Monnier <address@hidden> writes:

>>> 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.
>> Can't the next pointers could be NULL.
>
> Of course: the last symbol in a bucket has a NULL there (as do
> non-interned symbols).  Can't see why that would make a difference, tho.
>
>> Is the next pointer used for anything else other than GC?
>
> Yes, of course: it's used for the hash-lookup done in `intern' (and
> `intern-soft').

If one sorts the pure symbols to the end of the obarray bucket chain
before dumping, they can't possibly be followed by non-pure symbols in
their life time since intern adds to the front of a bucket chain.

-- 
David Kastrup





reply via email to

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