summaryrefslogtreecommitdiff
path: root/pack-objects.h
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2018-04-14 15:35:02 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-04-16 03:38:58 (GMT)
commit0c6804ab4ee5cfa47fe28e0a2d20415c5c1f8884 (patch)
treeb0bcae54c90d3ca986e57584b9d01ed5a5249fd1 /pack-objects.h
parentfd9b1baef8a940c9c251995b006a3d96f210e639 (diff)
downloadgit-0c6804ab4ee5cfa47fe28e0a2d20415c5c1f8884.zip
git-0c6804ab4ee5cfa47fe28e0a2d20415c5c1f8884.tar.gz
git-0c6804ab4ee5cfa47fe28e0a2d20415c5c1f8884.tar.bz2
pack-objects: use bitfield for object_entry::dfs_state
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'pack-objects.h')
-rw-r--r--pack-objects.h28
1 files changed, 17 insertions, 11 deletions
diff --git a/pack-objects.h b/pack-objects.h
index b4a83a6..080ef62 100644
--- a/pack-objects.h
+++ b/pack-objects.h
@@ -1,6 +1,21 @@
#ifndef PACK_OBJECTS_H
#define PACK_OBJECTS_H
+#define OE_DFS_STATE_BITS 2
+
+/*
+ * State flags for depth-first search used for analyzing delta cycles.
+ *
+ * The depth is measured in delta-links to the base (so if A is a delta
+ * against B, then A has a depth of 1, and B a depth of 0).
+ */
+enum dfs_state {
+ DFS_NONE = 0,
+ DFS_ACTIVE,
+ DFS_DONE,
+ DFS_NUM_STATES
+};
+
/*
* basic object info
* -----------------
@@ -73,19 +88,10 @@ struct object_entry {
unsigned no_try_delta:1;
unsigned tagged:1; /* near the very tip of refs */
unsigned filled:1; /* assigned write-order */
+ unsigned dfs_state:OE_DFS_STATE_BITS;
- /*
- * State flags for depth-first search used for analyzing delta cycles.
- *
- * The depth is measured in delta-links to the base (so if A is a delta
- * against B, then A has a depth of 1, and B a depth of 0).
- */
- enum {
- DFS_NONE = 0,
- DFS_ACTIVE,
- DFS_DONE
- } dfs_state;
int depth;
+
};
struct packing_data {