summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2012-10-28 14:57:49 +0000
committerPaul Smith <psmith@gnu.org>2012-10-28 14:57:49 +0000
commit2efd6b47bf59c3202ccc6218b42ba360136d3789 (patch)
tree4a6722cc9c448baa6e04205e400d6353ccb59738
parentca8885d5be16e5ea100d640761a60ab48b3bd8f0 (diff)
downloadgunmake-2efd6b47bf59c3202ccc6218b42ba360136d3789.tar.gz
Rearrange elements to reduce struct size on 64bit architectures.
-rw-r--r--hash.h6
-rw-r--r--job.h12
2 files changed, 8 insertions, 10 deletions
diff --git a/hash.h b/hash.h
index 6624fe6..960cbd7 100644
--- a/hash.h
+++ b/hash.h
@@ -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 *));
diff --git a/job.h b/job.h
index 68760f2..0b594a1 100644
--- a/job.h
+++ b/job.h
@@ -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. */