[Top][All Lists]

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

Re: GC: cons sweeping and cons block size

From: Stefan Monnier
Subject: Re: GC: cons sweeping and cons block size
Date: Fri, 06 Jul 2007 08:48:05 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1.50 (gnu/linux)

> (quoting David, who was quoting Stefan)
>>>> I haven't found the time to do it, but it would be good to get  rid of
>>>> this situation and always place tags in the 3 LSB bits.

> It does appear to be the default for most systems, maybe all modern ones,
> but only when we compile with GCC.  Are we confident no one is using Emacs
> on systems where we use a system malloc that doesn't do 8-
> byte alignment?

No.  IIRC at least Mac OS 9's malloc doesn't do 8-byte alignment.
By getting rid of the MSB tags I meant write the code to handle the case
where malloc doesn't return multiples of 8 and where we can't use GCC's
alignment attribute to force alignment on static (and/or stack structures).

> We could do a USE_LSB_TAG variant of the union, to get more address  space
> back but keep the paranoid type checking capability.

If we can really get the exact same performance, maybe it's a good idea, but
since it's only really useful at compile-time, it's quite sufficient to
compile the source every once in a while with the USE_LISP_UNION_TYPE flag.


reply via email to

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