emacs-devel
[Top][All Lists]
Advanced

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

Re: immediate strings #2


From: Stefan Monnier
Subject: Re: immediate strings #2
Date: 2011年11月28日 21:07:35 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.91 (gnu/linux)

> struct Data_Lisp_String
> {
> unsigned int immediate_bit : 1;
> signed int : IMMEDIATE_STRING_LENGTH_BITS; /* padding for immediate size 
> */
> unsigned int gcmarkbit : 1;
> signed int : IMMEDIATE_STRING_LENGTH_BITS; /* and for immediate size_byte 
> */
> INTERVAL intervals;
> ptrdiff_t size;
> ptrdiff_t size_byte;
> unsigned char *data;
> };
Why? IIUC that sums up to 5x32bit, which will break the "multiple of
8 alignment" rule and hence will need to be be rounded up to 6x32bit,
for an overall increase of 50% in the size of struct Lisp_String.
I.e. a non-starter. There are bits available in size and size_byte, we
have to use those (like we currently do with gcmarkbit in `size').
 Stefan

reply via email to

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

AltStyle によって変換されたページ (->オリジナル) /