@@ -704,6 +704,7 @@ static void jl_serialize_value_(jl_serializer_state *s, jl_value_t *v, int as_li
704
704
write_int8 (s -> s , m -> constprop );
705
705
jl_serialize_value (s , (jl_value_t * )m -> slot_syms );
706
706
jl_serialize_value (s , (jl_value_t * )m -> roots );
707
+ jl_serialize_value (s , (jl_value_t * )m -> root_blocks );
707
708
jl_serialize_value (s , (jl_value_t * )m -> ccallable );
708
709
jl_serialize_value (s , (jl_value_t * )m -> source );
709
710
jl_serialize_value (s , (jl_value_t * )m -> unspecialized );
@@ -1573,6 +1574,9 @@ static jl_value_t *jl_deserialize_value_method(jl_serializer_state *s, jl_value_
1573
1574
m -> roots = (jl_array_t * )jl_deserialize_value (s , (jl_value_t * * )& m -> roots );
1574
1575
if (m -> roots )
1575
1576
jl_gc_wb (m , m -> roots );
1577
+ m -> root_blocks = (jl_array_t * )jl_deserialize_value (s , (jl_value_t * * )& m -> root_blocks );
1578
+ if (m -> root_blocks )
1579
+ jl_gc_wb (m , m -> root_blocks );
1576
1580
m -> ccallable = (jl_svec_t * )jl_deserialize_value (s , (jl_value_t * * )& m -> ccallable );
1577
1581
if (m -> ccallable ) {
1578
1582
jl_gc_wb (m , m -> ccallable );
@@ -2312,6 +2316,8 @@ JL_DLLEXPORT int jl_save_incremental(const char *fname, jl_array_t *worklist)
2312
2316
}
2313
2317
JL_GC_PUSH2 (& mod_array , & udeps );
2314
2318
mod_array = jl_get_loaded_modules (); // __toplevel__ modules loaded in this session (from Base.loaded_modules_array)
2319
+ assert (jl_precompile_toplevel_module == NULL );
2320
+ jl_precompile_toplevel_module = (jl_module_t * )jl_array_ptr_ref (worklist , jl_array_len (worklist )- 1 );
2315
2321
2316
2322
serializer_worklist = worklist ;
2317
2323
write_header (& f );
@@ -2426,6 +2432,7 @@ JL_DLLEXPORT int jl_save_incremental(const char *fname, jl_array_t *worklist)
2426
2432
write_int32 (& f , 0 ); // mark the end of the source text
2427
2433
ios_close (& f );
2428
2434
JL_GC_POP ();
2435
+ jl_precompile_toplevel_module = NULL ;
2429
2436
2430
2437
return 0 ;
2431
2438
}
0 commit comments