Skip to content

Commit 95cb3a8

Browse files
timholyKristofferC
authored andcommitted
Precompile cache: always add worklist CIs (#47924)
We cache only those external CodeInstances that link back to the package being precompiled. Formerly we required a backedge; this PRs adds any whose `specTypes` could only link back to the package. This scoops up a few runtime-dispatched CodeInstances and their callees. (cherry picked from commit 1f0700a)
1 parent 327e081 commit 95cb3a8

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/staticdata_utils.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ static int has_backedge_to_worklist(jl_method_instance_t *mi, htable_t *visited,
188188
if (jl_is_method(mod))
189189
mod = ((jl_method_t*)mod)->module;
190190
assert(jl_is_module(mod));
191-
if (mi->precompiled || !jl_object_in_image((jl_value_t*)mod)) {
191+
if (mi->precompiled || !jl_object_in_image((jl_value_t*)mod) || type_in_worklist(mi->specTypes)) {
192192
return 1;
193193
}
194194
if (!mi->backedges) {

0 commit comments

Comments
 (0)