You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/gf.c
+32-23Lines changed: 32 additions & 23 deletions
Original file line number
Diff line number
Diff line change
@@ -1691,7 +1691,6 @@ static int get_intersect_visitor(jl_typemap_entry_t *oldentry, struct typemap_in
1691
1691
assert(jl_atomic_load_relaxed(&oldentry->min_world) <= jl_atomic_load_relaxed(&closure->newentry->min_world) &&"old method cannot be newer than new method");
1692
1692
assert(jl_atomic_load_relaxed(&oldentry->max_world) !=jl_atomic_load_relaxed(&closure->newentry->min_world) &&"method cannot be added at the same time as method deleted");
1693
1693
// don't need to consider other similar methods if this oldentry will always fully intersect with them and dominates all of them
1694
-
typemap_slurp_search(oldentry, &closure->match);
1695
1694
jl_method_t*oldmethod=oldentry->func.method;
1696
1695
if (closure->match.issubty// e.g. jl_subtype(closure->newentry.sig, oldentry->sig)
1697
1696
&&jl_subtype(oldmethod->sig, (jl_value_t*)closure->newentry->sig)) { // e.g. jl_type_equal(closure->newentry->sig, oldentry->sig)
@@ -1700,7 +1699,18 @@ static int get_intersect_visitor(jl_typemap_entry_t *oldentry, struct typemap_in
if (closure->match.issubty) { // this should be rarely true (in fact, get_intersect_visitor should be rarely true), but might as well skip the rest of the scan fast anyways since we can
0 commit comments