@@ -127,7 +127,7 @@ typedef struct {
127
127
} jl_serializer_state ;
128
128
129
129
static jl_value_t * jl_idtable_type = NULL ;
130
- static arraylist_t builtin_types ;
130
+ static arraylist_t builtin_typenames ;
131
131
132
132
#define write_uint8 (s , n ) ios_putc((n), (s))
133
133
#define read_uint8 (s ) ((uint8_t)ios_getc(s))
@@ -2062,9 +2062,9 @@ static void jl_save_system_image_to_stream(ios_t *f)
2062
2062
jl_prune_type_cache (jl_type_typename -> cache );
2063
2063
2064
2064
intptr_t i ;
2065
- for (i = 0 ; i < builtin_types .len ; i ++ ) {
2066
- jl_serialize_value (& s , ((jl_datatype_t * ) builtin_types .items [i ])-> name -> cache );
2067
- jl_serialize_value (& s , ((jl_datatype_t * ) builtin_types .items [i ])-> name -> linearcache );
2065
+ for (i = 0 ; i < builtin_typenames .len ; i ++ ) {
2066
+ jl_serialize_value (& s , ((jl_typename_t * ) builtin_typenames .items [i ])-> cache );
2067
+ jl_serialize_value (& s , ((jl_typename_t * ) builtin_typenames .items [i ])-> linearcache );
2068
2068
}
2069
2069
2070
2070
// ensure everything in deser_tag is reassociated with its GlobalValue
@@ -2164,8 +2164,8 @@ static void jl_restore_system_image_from_stream(ios_t *f)
2164
2164
jl_module_type -> name -> mt = (jl_methtable_t * )jl_deserialize_value (& s , NULL );
2165
2165
2166
2166
intptr_t i ;
2167
- for (i = 0 ; i < builtin_types .len ; i ++ ) {
2168
- jl_typename_t * tn = (( jl_datatype_t * ) builtin_types .items [i ]) -> name ;
2167
+ for (i = 0 ; i < builtin_typenames .len ; i ++ ) {
2168
+ jl_typename_t * tn = (jl_typename_t * ) builtin_typenames .items [i ];
2169
2169
tn -> cache = (jl_svec_t * )jl_deserialize_value (& s , NULL ); jl_gc_wb (tn , tn -> cache );
2170
2170
tn -> linearcache = (jl_svec_t * )jl_deserialize_value (& s , NULL ); jl_gc_wb (tn , tn -> linearcache );
2171
2171
jl_resort_type_cache (tn -> cache );
@@ -2654,7 +2654,7 @@ void jl_init_serializer(void)
2654
2654
jl_box_int32 (33 ), jl_box_int32 (34 ), jl_box_int32 (35 ),
2655
2655
jl_box_int32 (36 ), jl_box_int32 (37 ), jl_box_int32 (38 ),
2656
2656
jl_box_int32 (39 ), jl_box_int32 (40 ), jl_box_int32 (41 ),
2657
- jl_box_int32 (42 ), jl_box_int32 ( 43 ),
2657
+ jl_box_int32 (42 ),
2658
2658
#endif
2659
2659
jl_box_int64 (0 ), jl_box_int64 (1 ), jl_box_int64 (2 ),
2660
2660
jl_box_int64 (3 ), jl_box_int64 (4 ), jl_box_int64 (5 ),
@@ -2671,7 +2671,7 @@ void jl_init_serializer(void)
2671
2671
jl_box_int64 (33 ), jl_box_int64 (34 ), jl_box_int64 (35 ),
2672
2672
jl_box_int64 (36 ), jl_box_int64 (37 ), jl_box_int64 (38 ),
2673
2673
jl_box_int64 (39 ), jl_box_int64 (40 ), jl_box_int64 (41 ),
2674
- jl_box_int64 (42 ), jl_box_int64 ( 43 ),
2674
+ jl_box_int64 (42 ),
2675
2675
#endif
2676
2676
jl_labelnode_type , jl_linenumbernode_type , jl_gotonode_type ,
2677
2677
jl_quotenode_type , jl_type_type , jl_bottom_type , jl_ref_type ,
@@ -2683,7 +2683,7 @@ void jl_init_serializer(void)
2683
2683
jl_typemap_entry_type , jl_voidpointer_type , jl_newvarnode_type ,
2684
2684
jl_array_symbol_type , jl_anytuple_type , jl_tparam0 (jl_anytuple_type ),
2685
2685
jl_typeof (jl_emptytuple ), jl_array_uint8_type , jl_symbol_type -> name ,
2686
- jl_ssavalue_type -> name , jl_tuple_typename ,
2686
+ jl_ssavalue_type -> name , jl_tuple_typename , jl_bottomtype_type ,
2687
2687
((jl_datatype_t * )jl_unwrap_unionall (jl_ref_type ))-> name ,
2688
2688
jl_pointer_typename , jl_simplevector_type -> name , jl_datatype_type -> name ,
2689
2689
jl_uniontype_type -> name , jl_array_typename , jl_expr_type -> name ,
@@ -2696,7 +2696,7 @@ void jl_init_serializer(void)
2696
2696
jl_abstractslot_type -> name , jl_slotnumber_type -> name , jl_unionall_type -> name ,
2697
2697
jl_intrinsic_type -> name , jl_task_type -> name , jl_labelnode_type -> name ,
2698
2698
jl_linenumbernode_type -> name , jl_builtin_type -> name , jl_gotonode_type -> name ,
2699
- jl_quotenode_type -> name , jl_globalref_type -> name ,
2699
+ jl_quotenode_type -> name , jl_globalref_type -> name , jl_bottomtype_type -> name ,
2700
2700
2701
2701
ptls -> root_task ,
2702
2702
@@ -2731,15 +2731,15 @@ void jl_init_serializer(void)
2731
2731
}
2732
2732
assert (i <= 256 );
2733
2733
2734
- arraylist_new (& builtin_types , 0 );
2735
- arraylist_push (& builtin_types , jl_array_type );
2736
- arraylist_push (& builtin_types , jl_ref_type );
2737
- arraylist_push (& builtin_types , jl_pointer_type );
2738
- arraylist_push (& builtin_types , jl_type_type );
2739
- arraylist_push (& builtin_types , jl_abstractarray_type );
2740
- arraylist_push (& builtin_types , jl_densearray_type );
2741
- arraylist_push (& builtin_types , jl_tuple_type );
2742
- arraylist_push (& builtin_types , jl_vararg_type );
2734
+ arraylist_new (& builtin_typenames , 0 );
2735
+ arraylist_push (& builtin_typenames , jl_array_typename );
2736
+ arraylist_push (& builtin_typenames , (( jl_datatype_t * ) jl_ref_type -> body ) -> name );
2737
+ arraylist_push (& builtin_typenames , jl_pointer_typename );
2738
+ arraylist_push (& builtin_typenames , jl_type_typename );
2739
+ arraylist_push (& builtin_typenames , (( jl_datatype_t * ) jl_unwrap_unionall ( jl_abstractarray_type )) -> name );
2740
+ arraylist_push (& builtin_typenames , (( jl_datatype_t * ) jl_unwrap_unionall ( jl_densearray_type )) -> name );
2741
+ arraylist_push (& builtin_typenames , jl_tuple_typename );
2742
+ arraylist_push (& builtin_typenames , jl_vararg_typename );
2743
2743
}
2744
2744
2745
2745
#ifdef __cplusplus
0 commit comments