Skip to contentSkip to conversation

Avoid padding in structs index_state, packed_git

PATCH Dilyan Palauzov 1 participant 1 message Jun 15, 2016

lore
Share & tools
lore
#0 lore raw

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)

---

cache.h +3 -3
index 6bb7119..e00908b 100644
@@ -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,