summaryrefslogtreecommitdiff
path: root/builtin/pack-objects.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2023-02-09 14:40:47 -0800
committerJunio C Hamano <gitster@pobox.com>2023-02-09 14:40:47 -0800
commit6d1b2e48feb2a0d136d5980bf47ad8bfe0f7f6a6 (patch)
tree2f404fa6647d15dda1f77be4006ba17a8f4d2db1 /builtin/pack-objects.c
parent8a1d607877d5bb43da444a9a947eed3f366ed3e8 (diff)
parent647982bb7171b2409f2a90da245b8a31913f930f (diff)
downloadgit-6d1b2e48feb2a0d136d5980bf47ad8bfe0f7f6a6.tar.gz
Merge branch 'ew/free-island-marks'
"git pack-objects" learned to release delta-island bitmap data when it is done using it, saving peak heap memory usage. * ew/free-island-marks: delta-islands: free island_marks and bitmaps
Diffstat (limited to 'builtin/pack-objects.c')
-rw-r--r--builtin/pack-objects.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c
index cabace4abb..3395f63aba 100644
--- a/builtin/pack-objects.c
+++ b/builtin/pack-objects.c
@@ -929,8 +929,10 @@ static struct object_entry **compute_write_order(void)
*/
for_each_tag_ref(mark_tagged, NULL);
- if (use_delta_islands)
+ if (use_delta_islands) {
max_layers = compute_pack_layers(&to_pack);
+ free_island_marks();
+ }
ALLOC_ARRAY(wo, to_pack.nr_objects);
wo_end = 0;