Skip to content

Commit 751cd99

Browse files
committed
Drop callee edges during image serialization
1 parent 01233e2 commit 751cd99

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/staticdata.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2662,6 +2662,16 @@ static void jl_save_system_image_to_stream(ios_t *f, jl_array_t *mod_array,
26622662
jl_write_value(&s, new_specializations);
26632663
jl_write_value(&s, method_roots_list);
26642664
jl_write_value(&s, ext_targets);
2665+
if (jl_options.drop_edges) {
2666+
// The caller field in `edges` is used in loading so we only empty the
2667+
// callees array when we drop edges.
2668+
size_t i, l = jl_array_len(edges) / 2;
2669+
for (i = 0; i < l; i++) {
2670+
jl_array_t *cids = jl_alloc_array_1d(jl_array_int32_type, 0);
2671+
jl_array_ptr_set(edges, 2 * i + 1, cids);
2672+
}
2673+
//edges = jl_alloc_vec_any(0);
2674+
}
26652675
jl_write_value(&s, edges);
26662676
}
26672677
write_uint32(f, jl_array_len(s.link_ids_gctags));

0 commit comments

Comments
 (0)