This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFA] small size reduction to struct die_info
On Sat, Sep 13, 2008 at 7:21 PM, Daniel Jacobowitz <drow@false.org> wrote:
> On Sat, Sep 13, 2008 at 06:25:36PM -0700, Doug Evans wrote:
>> This reduces the size of struct die_info for 32 bit hosts.
>>
>> Ok to check in?
>>
>> 2008-09-13 Doug Evans <dje@sebabeach.org>
>>
>> * dwarf2read.c (struct die_info): Make members tag, num_attrs 16 bits.
>
> OK, though I wonder if GCC generates better code for short than int :
> 16?
There's no difference in generated code. I went with short just in
case some other compiler had issues.
This patch does the same thing for structs attr_abbrev, attribute. Ok
to check in?
2008-09-14 Doug Evans <dje@sebabeach.org>
* dwarf2read.c (struct abbrev_info): Make members name, form 16 bits.
(struct attribute): Ditto.
Index: dwarf2read.c
===================================================================
RCS file: /cvs/src/src/gdb/dwarf2read.c,v
retrieving revision 1.282
diff -u -p -r1.282 dwarf2read.c
--- dwarf2read.c 15 Sep 2008 01:22:02 -0000 1.282
+++ dwarf2read.c 15 Sep 2008 02:19:52 -0000
@@ -513,15 +513,15 @@ struct abbrev_info
struct attr_abbrev
{
- enum dwarf_attribute name;
- enum dwarf_form form;
+ ENUM_BITFIELD(dwarf_attribute) name : 16;
+ ENUM_BITFIELD(dwarf_form) form : 16;
};
/* Attributes have a name and a value */
struct attribute
{
- enum dwarf_attribute name;
- enum dwarf_form form;
+ ENUM_BITFIELD(dwarf_attribute) name : 16;
+ ENUM_BITFIELD(dwarf_form) form : 16;
union
{
char *str;