@@ -977,28 +977,30 @@ static jl_array_t *jl_verify_methods(jl_array_t *edges, jl_array_t *maxvalids)
977977 assert (jl_is_method_instance (caller ) && jl_is_method (caller -> def .method ));
978978 jl_array_t * callee_ids = (jl_array_t * )jl_array_ptr_ref (edges , 2 * i + 1 );
979979 assert (jl_typetagis ((jl_value_t * )callee_ids , jl_array_int32_type ));
980- if (callee_ids == NULL || jl_array_len ( callee_ids ) == 0 ) {
980+ if (callee_ids == NULL ) {
981981 // serializing the edges had failed
982982 maxvalids2_data [i ] = 0 ;
983983 }
984984 else {
985985 int32_t * idxs = (int32_t * )jl_array_data (callee_ids );
986986 size_t j ;
987987 maxvalids2_data [i ] = ~(size_t )0 ;
988- for (j = 0 ; j < idxs [0 ]; j ++ ) {
989- int32_t idx = idxs [j + 1 ];
990- size_t max_valid = ((size_t * )(jl_array_data (maxvalids )))[idx ];
991- if (max_valid != ~(size_t )0 && _jl_debug_method_invalidation ) {
992- jl_array_ptr_1d_push (_jl_debug_method_invalidation , (jl_value_t * )caller );
993- loctag = jl_cstr_to_string ("verify_methods" );
994- jl_array_ptr_1d_push (_jl_debug_method_invalidation , loctag );
995- loctag = jl_box_int32 ((int32_t )idx );
996- jl_array_ptr_1d_push (_jl_debug_method_invalidation , loctag );
988+ if (jl_array_len (callee_ids ) > 0 ) {
989+ for (j = 0 ; j < idxs [0 ]; j ++ ) {
990+ int32_t idx = idxs [j + 1 ];
991+ size_t max_valid = ((size_t * )(jl_array_data (maxvalids )))[idx ];
992+ if (max_valid != ~(size_t )0 && _jl_debug_method_invalidation ) {
993+ jl_array_ptr_1d_push (_jl_debug_method_invalidation , (jl_value_t * )caller );
994+ loctag = jl_cstr_to_string ("verify_methods" );
995+ jl_array_ptr_1d_push (_jl_debug_method_invalidation , loctag );
996+ loctag = jl_box_int32 ((int32_t )idx );
997+ jl_array_ptr_1d_push (_jl_debug_method_invalidation , loctag );
998+ }
999+ if (max_valid < maxvalids2_data [i ])
1000+ maxvalids2_data [i ] = max_valid ;
1001+ if (max_valid == 0 )
1002+ break ;
9971003 }
998- if (max_valid < maxvalids2_data [i ])
999- maxvalids2_data [i ] = max_valid ;
1000- if (max_valid == 0 )
1001- break ;
10021004 }
10031005 }
10041006 //jl_static_show((JL_STREAM*)ios_stderr, (jl_value_t*)caller);
0 commit comments