… | |
… | |
55 | |
55 | |
56 | #define PADDING ((2 * sizeof(long) - sizeof(REFCOUNT_TYPE)) % sizeof(long)) + 1 |
56 | #define PADDING ((2 * sizeof(long) - sizeof(REFCOUNT_TYPE)) % sizeof(long)) + 1 |
57 | |
57 | |
58 | typedef struct _shared_string { |
58 | typedef struct _shared_string { |
59 | union { |
59 | union { |
60 | struct _shared_string **array; |
60 | struct _shared_string **array; |
61 | struct _shared_string *previous; |
61 | struct _shared_string *previous; |
62 | } u; |
62 | } u; |
63 | struct _shared_string *next; |
63 | struct _shared_string *next; |
64 | /* The top bit of "refcount" is used to signify that "u.array" points |
64 | /* The top bit of "refcount" is used to signify that "u.array" points |
65 | * at the array entry. |
65 | * at the array entry. |
66 | */ |
66 | */ |