[Top][All Lists]
[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: |
Mon, 28 Nov 2011 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
- Re: immediate strings #2, (continued)
- Re: immediate strings #2, Ken Raeburn, 2011/11/28
- Re: immediate strings #2, Andreas Schwab, 2011/11/28
- Re: immediate strings #2, Stefan Monnier, 2011/11/28
- Re: immediate strings #2, Andreas Schwab, 2011/11/28
- Re: immediate strings #2, Ken Raeburn, 2011/11/28
- Re: immediate strings #2, Andreas Schwab, 2011/11/29
- Re: immediate strings #2, Ken Raeburn, 2011/11/29
- Re: immediate strings #2, Andreas Schwab, 2011/11/29
- Re: immediate strings #2, Ken Raeburn, 2011/11/30
Re: immediate strings #2, Paul Eggert, 2011/11/28
- Re: immediate strings #2,
Stefan Monnier <=
- Re: immediate strings #2, Dmitry Antipov, 2011/11/28
- Re: immediate strings #2, Paul Eggert, 2011/11/29
- Re: immediate strings #2, Dmitry Antipov, 2011/11/30
- Re: immediate strings #2, Paul Eggert, 2011/11/30
- Re: immediate strings #2, Ken Raeburn, 2011/11/30
- Re: immediate strings #2, Paul Eggert, 2011/11/30
Re: immediate strings #2, Dmitry Antipov, 2011/11/28
Re: immediate strings #2, Dmitry Antipov, 2011/11/29