From e1b06ae220497540d09b295b885dff0c0eb85c4c Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Mon, 25 Nov 2013 09:34:49 -0700 Subject: [PATCH] pack partial_symtab for space This improves the packing of struct partial_symtab. I noticed with pahole that were were a couple of holes. This consolidates the holes without, I think, affecting readability -- it just moves the "user" field a bit earlier in the struct. This change saves a small amount of memory. 2013-12-06 Tom Tromey * psympriv.h (struct partial_symtab) : Move earlier. --- gdb/ChangeLog | 4 ++++ gdb/psympriv.h | 26 +++++++++++++------------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index fc35c227466..476e7bd0b82 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2013-12-06 Tom Tromey + + * psympriv.h (struct partial_symtab) : Move earlier. + 2013-12-06 Tom Tromey * cli/cli-cmds.c (edit_command): Use paddress, not hex_string. diff --git a/gdb/psympriv.h b/gdb/psympriv.h index 7a62bccbb91..9df687d5d83 100644 --- a/gdb/psympriv.h +++ b/gdb/psympriv.h @@ -111,19 +111,6 @@ struct partial_symtab CORE_ADDR textlow; CORE_ADDR texthigh; - /* Array of pointers to all of the partial_symtab's which this one - depends on. Since this array can only be set to previous or - the current (?) psymtab, this dependency tree is guaranteed not - to have any loops. "depends on" means that symbols must be read - for the dependencies before being read for this psymtab; this is - for type references in stabs, where if foo.c includes foo.h, declarations - in foo.h may use type numbers defined in foo.c. For other debugging - formats there may be no need to use dependencies. */ - - struct partial_symtab **dependencies; - - int number_of_dependencies; - /* If NULL, this is an ordinary partial symbol table. If non-NULL, this holds a single includer of this partial symbol @@ -153,6 +140,19 @@ struct partial_symtab struct partial_symtab *user; + /* Array of pointers to all of the partial_symtab's which this one + depends on. Since this array can only be set to previous or + the current (?) psymtab, this dependency tree is guaranteed not + to have any loops. "depends on" means that symbols must be read + for the dependencies before being read for this psymtab; this is + for type references in stabs, where if foo.c includes foo.h, declarations + in foo.h may use type numbers defined in foo.c. For other debugging + formats there may be no need to use dependencies. */ + + struct partial_symtab **dependencies; + + int number_of_dependencies; + /* Global symbol list. This list will be sorted after readin to improve access. Binary search will be the usual method of finding a symbol within it. globals_offset is an integer offset -- 2.30.2