@@ -2381,17 +2381,18 @@ static jl_array_t *jl_verify_edges(jl_array_t *targets)
2381
2381
jl_methtable_t * mt = jl_method_get_table (((jl_method_instance_t * )callee )-> def .method );
2382
2382
if ((jl_value_t * )mt == jl_nothing ) {
2383
2383
valid = 0 ;
2384
- break ;
2385
- }
2386
- matches = jl_gf_invoke_lookup_worlds (invokesig , (jl_value_t * )mt , world , & min_valid , & max_valid );
2387
- if (matches == jl_nothing ) {
2388
- valid = 0 ;
2389
- break ;
2390
2384
}
2391
- matches = (jl_value_t * )((jl_method_match_t * )matches )-> method ;
2392
- if (matches != expected ) {
2393
- valid = 0 ;
2394
- break ;
2385
+ else {
2386
+ matches = jl_gf_invoke_lookup_worlds (invokesig , (jl_value_t * )mt , world , & min_valid , & max_valid );
2387
+ if (matches == jl_nothing ) {
2388
+ valid = 0 ;
2389
+ }
2390
+ else {
2391
+ matches = (jl_value_t * )((jl_method_match_t * )matches )-> method ;
2392
+ if (matches != expected ) {
2393
+ valid = 0 ;
2394
+ }
2395
+ }
2395
2396
}
2396
2397
}
2397
2398
else {
@@ -2407,30 +2408,32 @@ static jl_array_t *jl_verify_edges(jl_array_t *targets)
2407
2408
-1 , 0 , world , & min_valid , & max_valid , & ambig );
2408
2409
if (matches == jl_false ) {
2409
2410
valid = 0 ;
2410
- break ;
2411
2411
}
2412
- // setdiff!(matches, expected)
2413
- size_t j , k , ins = 0 ;
2414
- if (jl_array_len (matches ) != jl_array_len (expected )) {
2415
- valid = 0 ;
2416
- if (!_jl_debug_method_invalidation )
2417
- break ;
2418
- }
2419
- for (k = 0 ; k < jl_array_len (matches ); k ++ ) {
2420
- jl_method_t * match = ((jl_method_match_t * )jl_array_ptr_ref (matches , k ))-> method ;
2421
- size_t l = jl_array_len (expected );
2422
- for (j = 0 ; j < l ; j ++ )
2423
- if (match == (jl_method_t * )jl_array_ptr_ref (expected , j ))
2424
- break ;
2425
- if (j == l ) {
2426
- // intersection has a new method or a method was
2427
- // deleted--this is now probably no good, just invalidate
2428
- // everything about it now
2412
+ else {
2413
+ // setdiff!(matches, expected)
2414
+ size_t j , k , ins = 0 ;
2415
+ if (jl_array_len (matches ) != jl_array_len (expected )) {
2429
2416
valid = 0 ;
2430
- jl_array_ptr_set (matches , ins ++ , match );
2431
2417
}
2418
+ for (k = 0 ; k < jl_array_len (matches ); k ++ ) {
2419
+ jl_method_t * match = ((jl_method_match_t * )jl_array_ptr_ref (matches , k ))-> method ;
2420
+ size_t l = jl_array_len (expected );
2421
+ for (j = 0 ; j < l ; j ++ )
2422
+ if (match == (jl_method_t * )jl_array_ptr_ref (expected , j ))
2423
+ break ;
2424
+ if (j == l ) {
2425
+ // intersection has a new method or a method was
2426
+ // deleted--this is now probably no good, just invalidate
2427
+ // everything about it now
2428
+ valid = 0 ;
2429
+ if (!_jl_debug_method_invalidation )
2430
+ break ;
2431
+ jl_array_ptr_set (matches , ins ++ , match );
2432
+ }
2433
+ }
2434
+ if (!valid && _jl_debug_method_invalidation )
2435
+ jl_array_del_end ((jl_array_t * )matches , jl_array_len (matches ) - ins );
2432
2436
}
2433
- jl_array_del_end ((jl_array_t * )matches , jl_array_len (matches ) - ins );
2434
2437
}
2435
2438
jl_array_uint8_set (valids , i , valid );
2436
2439
if (!valid && _jl_debug_method_invalidation ) {
0 commit comments