rearrange struct value to save memory
authorTom Tromey <tromey@redhat.com>
Sat, 28 Dec 2013 05:22:07 +0000 (22:22 -0700)
committerTom Tromey <tromey@redhat.com>
Thu, 16 Jan 2014 21:56:31 +0000 (14:56 -0700)
This patch rearranges struct value a tiny bit, moving the "regnum"
field into a hole.  This saves 8 bytes per value on a 64-bit machine,
and 4 bytes per value on a 32 bit machine.  I think it does not
negatively affect readability or performance.

Built and regtested on x86-64 Fedora 18.

2014-01-16  Tom Tromey  <tromey@redhat.com>

* value.c (struct value) <regnum>: Move earlier.

gdb/ChangeLog
gdb/value.c

index b8659306fbb52ebdf9fa3f6fb3a30c2a95a64172..6899c340ad203c2c2bd0b730b3c5cc1683c52ca4 100644 (file)
@@ -1,3 +1,7 @@
+2014-01-16  Tom Tromey  <tromey@redhat.com>
+
+       * value.c (struct value) <regnum>: Move earlier.
+
 2014-01-16  Tom Tromey  <tromey@redhat.com>
 
        * remote.c (extended_remote_create_inferior): Rename from
index 8542316d51ec652e770449840d911f0d94177d90..0e13b763a81c7e23210d51fd0a669ec6631c4b35 100644 (file)
@@ -216,6 +216,9 @@ struct value
   /* If the value has been released.  */
   unsigned int released : 1;
 
+  /* Register number if the value is from a register.  */
+  short regnum;
+
   /* Location of value (if lval).  */
   union
   {
@@ -324,9 +327,6 @@ struct value
      taken off this list.  */
   struct value *next;
 
-  /* Register number if the value is from a register.  */
-  short regnum;
-
   /* Actual contents of the value.  Target byte-order.  NULL or not
      valid if lazy is nonzero.  */
   gdb_byte *contents;