[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Building Emacs overflowed pure space
From: |
YAMAMOTO Mitsuharu |
Subject: |
Re: Building Emacs overflowed pure space |
Date: |
Thu, 20 Jul 2006 11:13:52 +0900 |
User-agent: |
Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.6 (Marutamachi) APEL/10.6 Emacs/22.0.50 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI) |
>>>>> On Wed, 19 Jul 2006 11:05:39 -0400, Stefan Monnier <address@hidden> said:
> Also `make-symbol' allocates a fixed amount of memory AFAIK,
> independent from the symbol name's length (it keeps a ref to the
> string argument, instead, so that (eq X (symbol-name (make-symbol
> X))) is always true), and the "--cl-dolist-temp--" string should
> only be allocated once (when reading the macro definition). So the
> only explanation that I can find is that the uninterned symbol names
> get copied to purespace at some point (don't know when or why), at
> which point the single shared string "--cl-dolist-temp--" gets
> copied N times.
It is allocated when .elc file is loaded. Each compiled `dolist'
contains the uninterned symbol #:--cl-dolist-temp--, and its name is
allocated through the following path:
lread.c:read1
2780 Lisp_Object result = uninterned_symbol ? make_symbol
(read_buffer)
2781 : intern (read_buffer);
lread.c:make_symbol
3294 return Fmake_symbol ((!NILP (Vpurify_flag)
3295 ? make_pure_string (str, len, len, 0)
3296 : make_string (str, len)));
alloc.c:make_pure_string
4787 s = (struct Lisp_String *) pure_alloc (sizeof *s, Lisp_String);
4788 s->data = (unsigned char *) pure_alloc (nbytes + 1, -1);
YAMAMOTO Mitsuharu
address@hidden
- Re: Building Emacs overflowed pure space, (continued)
- Re: Building Emacs overflowed pure space, Luc Teirlinck, 2006/07/18
- Re: Building Emacs overflowed pure space, Luc Teirlinck, 2006/07/18
- Re: Building Emacs overflowed pure space, Eli Zaretskii, 2006/07/18
- Re: Building Emacs overflowed pure space, Luc Teirlinck, 2006/07/18
- Re: Building Emacs overflowed pure space, Richard Stallman, 2006/07/19
- Re: Building Emacs overflowed pure space, YAMAMOTO Mitsuharu, 2006/07/19
- Re: Building Emacs overflowed pure space, YAMAMOTO Mitsuharu, 2006/07/19
- Re: Building Emacs overflowed pure space, Stefan Monnier, 2006/07/19
- Re: Building Emacs overflowed pure space, Kim F. Storm, 2006/07/19
- Re: Building Emacs overflowed pure space, Stefan Monnier, 2006/07/20
- Re: Building Emacs overflowed pure space,
YAMAMOTO Mitsuharu <=
- Re: Building Emacs overflowed pure space, Richard Stallman, 2006/07/19
- Re: Building Emacs overflowed pure space, Richard Stallman, 2006/07/19
- Re: Building Emacs overflowed pure space, Stefan Monnier, 2006/07/20
- Re: Building Emacs overflowed pure space, Kim F. Storm, 2006/07/20
- Re: Building Emacs overflowed pure space, Stefan Monnier, 2006/07/20
- Re: Building Emacs overflowed pure space, Richard Stallman, 2006/07/20
- Re: Building Emacs overflowed pure space, Richard Stallman, 2006/07/19
- Re: Building Emacs overflowed pure space, Kim F. Storm, 2006/07/19
- Re: Building Emacs overflowed pure space, Richard Stallman, 2006/07/20
- Re: Building Emacs overflowed pure space, Kim F. Storm, 2006/07/20