threads / discuss / 40119

Avoid padding in structs index_state, packed_git

Subject: Avoid padding in structs index_state, packed_git

## tl;dr

One message between Aug 18, 2015 and Aug 18, 2015.

replies: 0people: 1as markdown or json

Dilyan Palauzov· Aug 18, 2015, 10:55 UTC · lore

On 64 bit linux, sizeof (struct index_state) = 160 and sizeof (struct packed_git) = 104. This change shrinks the structs with 8bytes (as it avoids padding)

Signed-off-by: Дилян Палаузов <git-dpa@aegee.org>
---
diff --git a/cache.h b/cache.h
index 6bb7119..e00908b 100644
--- a/cache.h
+++ b/cache.h
@@ -310,11 +310,11 @@ struct index_state {
         struct cache_tree *cache_tree;
         struct split_index *split_index;
         struct cache_time timestamp;
-       unsigned name_hash_initialized : 1,
-                initialized : 1;
         struct hashmap name_hash;
         struct hashmap dir_hash;
         unsigned char sha1[20];
+       unsigned name_hash_initialized : 1,
+                initialized : 1;
         struct untracked_cache *untracked;
  };

@@ -1192,8 +1192,8 @@ extern struct packed_git {
         uint32_t num_objects;
         uint32_t num_bad_objects;
         unsigned char *bad_object_sha1;
-       int index_version;
         time_t mtime;
+       int index_version;
         int pack_fd;
         unsigned pack_local:1,
                  pack_keep:1,

← back to recent threads