@@ -2466,7 +2466,7 @@ function abstract_eval_replaceglobal!(interp::AbstractInterpreter, sv::AbsIntSta
24662466 end
24672467end
24682468
2469- function args_are_actually_getglobal (argtypes)
2469+ function argtypes_are_actually_getglobal (argtypes:: Vector{Any} )
24702470 length (argtypes) in (3 , 4 ) || return false
24712471 M = argtypes[2 ]
24722472 s = argtypes[3 ]
@@ -2506,21 +2506,21 @@ function abstract_call_known(interp::AbstractInterpreter, @nospecialize(f),
25062506 return Future (abstract_eval_setglobalonce! (interp, sv, argtypes))
25072507 elseif f === Core. replaceglobal!
25082508 return Future (abstract_eval_replaceglobal! (interp, sv, argtypes))
2509- elseif f === Core. getfield && args_are_actually_getglobal (argtypes)
2509+ elseif f === Core. getfield && argtypes_are_actually_getglobal (argtypes)
25102510 return Future (abstract_eval_getglobal (interp, sv, argtypes))
2511- elseif f === Core. isdefined && args_are_actually_getglobal (argtypes)
2511+ elseif f === Core. isdefined && argtypes_are_actually_getglobal (argtypes)
25122512 exct = Bottom
25132513 if length (argtypes) == 4
25142514 order = argtypes[4 ]
2515- exct = global_order_exct (order, true , false )
2516- if ! (isa (order, Const) && get_atomic_order (order. val, true , false ). x >= MEMORY_ORDER_UNORDERED. x)
2515+ exct = global_order_exct (order, #= loading =# true , #= storing =# false )
2516+ if ! (isa (order, Const) && get_atomic_order (order. val, #= loading =# true , #= storing =# false ). x >= MEMORY_ORDER_UNORDERED. x)
25172517 exct = Union{exct, ConcurrencyViolationError}
25182518 end
25192519 end
25202520 return Future (merge_exct (CallMeta (abstract_eval_isdefined (
25212521 interp,
2522- GlobalRef ((argtypes[2 ]:: Const ). val,
2523- (argtypes[3 ]:: Const ). val),
2522+ GlobalRef ((argtypes[2 ]:: Const ). val:: Module ,
2523+ (argtypes[3 ]:: Const ). val:: Symbol ),
25242524 sv),
25252525 NoCallInfo ()), exct))
25262526 elseif f === Core. get_binding_type
@@ -3048,7 +3048,7 @@ function abstract_eval_copyast(interp::AbstractInterpreter, e::Expr, vtypes::Uni
30483048end
30493049
30503050function abstract_eval_isdefined_expr (interp:: AbstractInterpreter , e:: Expr , vtypes:: Union{VarTable,Nothing} ,
3051- sv:: AbsIntState )
3051+ sv:: AbsIntState )
30523052 sym = e. args[1 ]
30533053 if isa (sym, SlotNumber) && vtypes != = nothing
30543054 vtyp = vtypes[slot_id (sym)]
0 commit comments