diff options
author | Paul Smith <psmith@gnu.org> | 2012-10-28 14:57:49 +0000 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 2012-10-28 14:57:49 +0000 |
commit | 2efd6b47bf59c3202ccc6218b42ba360136d3789 (patch) | |
tree | 4a6722cc9c448baa6e04205e400d6353ccb59738 | |
parent | ca8885d5be16e5ea100d640761a60ab48b3bd8f0 (diff) | |
download | gunmake-2efd6b47bf59c3202ccc6218b42ba360136d3789.tar.gz |
Rearrange elements to reduce struct size on 64bit architectures.
-rw-r--r-- | hash.h | 6 | ||||
-rw-r--r-- | job.h | 12 |
2 files changed, 8 insertions, 10 deletions
@@ -41,6 +41,9 @@ typedef void (*hash_map_arg_func_t) __P((void const *item, void *arg)); struct hash_table { void **ht_vec; + hash_func_t ht_hash_1; /* primary hash function */ + hash_func_t ht_hash_2; /* secondary hash function */ + hash_cmp_func_t ht_compare; /* comparison function */ unsigned long ht_size; /* total number of slots (power of 2) */ unsigned long ht_capacity; /* usable slots, limited by loading-factor */ unsigned long ht_fill; /* items in table */ @@ -48,9 +51,6 @@ struct hash_table unsigned long ht_collisions; /* # of failed calls to comparison function */ unsigned long ht_lookups; /* # of queries */ unsigned int ht_rehashes; /* # of times we've expanded table */ - hash_func_t ht_hash_1; /* primary hash function */ - hash_func_t ht_hash_2; /* secondary hash function */ - hash_cmp_func_t ht_compare; /* comparison function */ }; typedef int (*qsort_cmp_t) __P((void const *, void const *)); @@ -43,22 +43,20 @@ struct child struct file *file; /* File being remade. */ char **environment; /* Environment for commands. */ - + char *sh_batch_file; /* Script file for shell commands */ char **command_lines; /* Array of variable-expanded cmd lines. */ - unsigned int command_line; /* Index into above. */ char *command_ptr; /* Ptr into command_lines[command_line]. */ - pid_t pid; /* Child process's ID number. */ #ifdef VMS + char *comname; /* Temporary command file name */ int efn; /* Completion event flag number */ int cstatus; /* Completion status */ - char *comname; /* Temporary command file name */ #endif - char *sh_batch_file; /* Script file for shell commands */ - unsigned int remote:1; /* Nonzero if executing remotely. */ + unsigned int command_line; /* Index into command_lines. */ + pid_t pid; /* Child process's ID number. */ + unsigned int remote:1; /* Nonzero if executing remotely. */ unsigned int noerror:1; /* Nonzero if commands contained a '-'. */ - unsigned int good_stdin:1; /* Nonzero if this child has a good stdin. */ unsigned int deleted:1; /* Nonzero if targets have been deleted. */ unsigned int dontcare:1; /* Saved dontcare flag. */ |