[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Shrinking the C core
From: |
Eli Zaretskii |
Subject: |
Re: Shrinking the C core |
Date: |
Sun, 20 Aug 2023 18:45:23 +0300 |
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: Emanuel Berg <incal@dataswamp.org>, emacs-devel@gnu.org
> Date: Sun, 20 Aug 2023 15:36:34 +0000
>
> "Alfred M. Szmidt" <ams@gnu.org> writes:
>
> > I guess that you do not understand the above? Or what? Do you know
> > and understand what happens in Emacs when a similar call is done? It
> > is far more than "166 bytes".
>
> It would be helpful if you show us what happens in Elisp with a similar
> call.
See below.
> Especially after native compilation.
Native compilation doesn't affect 'car', because it's a primitive.
> I am asking genuinely because `car' (1) has dedicated opt code and thus
> should be one of the best-optimized function calls on Elisp side; (2)
> Fcar is nothing but
>
> /* Take the car or cdr of something whose type is not known. */
> INLINE Lisp_Object
> CAR (Lisp_Object c)
> {
> if (CONSP (c))
> return XCAR (c); // <- XCONS (c)->u.s.car
> if (!NILP (c))
> wrong_type_argument (Qlistp, c);
> return Qnil;
> }
It's very easy to see the code of 'car' in Emacs. All you need is run
GDB:
$ gdb ./emacs
...
(gdb) disassemble /m Fcar
- Re: Shrinking the C core, (continued)
- Re: Shrinking the C core, Emanuel Berg, 2023/08/15
- Re: Shrinking the C core, Ihor Radchenko, 2023/08/16
- Re: Shrinking the C core, Emanuel Berg, 2023/08/19
- Re: Shrinking the C core, Ihor Radchenko, 2023/08/20
- Re: Shrinking the C core, Emanuel Berg, 2023/08/20
- Re: Shrinking the C core, Ihor Radchenko, 2023/08/20
- Re: Shrinking the C core, Alfred M. Szmidt, 2023/08/20
- Re: Shrinking the C core, Emanuel Berg, 2023/08/20
- Re: Shrinking the C core, Alfred M. Szmidt, 2023/08/20
- Re: Shrinking the C core, Ihor Radchenko, 2023/08/20
- Re: Shrinking the C core,
Eli Zaretskii <=
- Re: Shrinking the C core, Ihor Radchenko, 2023/08/20
- Re: Shrinking the C core, Alfred M. Szmidt, 2023/08/20
- Re: Shrinking the C core, Ihor Radchenko, 2023/08/20
- Re: Shrinking the C core, Alfred M. Szmidt, 2023/08/20
- Re: Shrinking the C core, Ihor Radchenko, 2023/08/20
- Re: Shrinking the C core, Alfred M. Szmidt, 2023/08/20
- Re: Shrinking the C core, Eli Zaretskii, 2023/08/20
- Re: Shrinking the C core, Emanuel Berg, 2023/08/27
- Re: Shrinking the C core, Ihor Radchenko, 2023/08/20
- Re: Shrinking the C core, Ihor Radchenko, 2023/08/20