diff --git a/src/staticdata.c b/src/staticdata.c index 5b6bb5fdf2187..edef580600b84 100644 --- a/src/staticdata.c +++ b/src/staticdata.c @@ -798,7 +798,6 @@ static void jl_queue_module_for_serialization(jl_serializer_state *s, jl_module_ // ... or point to Base functions accessed by the runtime (m == jl_base_module && (!strcmp(jl_symbol_name(b->globalref->name), "wait") || !strcmp(jl_symbol_name(b->globalref->name), "task_done_hook"))))) { - record_field_change((jl_value_t**)&b->backedges, NULL); jl_queue_for_serialization(s, b); } } @@ -1044,6 +1043,9 @@ static void jl_insert_into_serialization_queue(jl_serializer_state *s, jl_value_ record_field_change((jl_value_t **)&tn->mt, NULL); } } + else if (jl_is_binding(v)) { + record_field_change((jl_value_t**)&((jl_binding_t*)v)->backedges, NULL); + } } char *data = (char*)jl_data_ptr(v); size_t i, np = layout->npointers; diff --git a/test/trimming/trimming.jl b/test/trimming/trimming.jl index 4a0bb14ceebe2..69d9adf9b003f 100644 --- a/test/trimming/trimming.jl +++ b/test/trimming/trimming.jl @@ -4,7 +4,7 @@ let exe_suffix = splitext(Base.julia_exename())[2] hello_exe = joinpath(@__DIR__, "hello" * exe_suffix) @test readchomp(`$hello_exe`) == "Hello, world!" - @test filesize(hello_exe) < 20_000_000 + @test filesize(hello_exe) < 2_000_000 basic_jll_exe = joinpath(@__DIR__, "basic_jll" * exe_suffix) lines = split(readchomp(`$basic_jll_exe`), "\n")