Skip to content

Commit

Permalink
follow up JuliaLang#49889, pass sv::AbsIntState to `concrete_eval_c…
Browse files Browse the repository at this point in the history
…all` (JuliaLang#49904)

`sv` is not used by `NativeInterpreter`, but is used by external
`AbstractInterpreter` like JET.jl.
  • Loading branch information
aviatesk authored and pull[bot] committed Feb 23, 2024
1 parent 488abaa commit 2b11a60
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions base/compiler/abstractinterpretation.jl
Original file line number Diff line number Diff line change
Expand Up @@ -792,7 +792,7 @@ function abstract_call_method_with_const_args(interp::AbstractInterpreter,
end
eligibility = concrete_eval_eligible(interp, f, result, arginfo, sv)
if eligibility === :concrete_eval
return concrete_eval_call(interp, f, result, arginfo, invokecall)
return concrete_eval_call(interp, f, result, arginfo, sv, invokecall)
end
mi = maybe_get_const_prop_profitable(interp, result, f, arginfo, si, match, sv)
mi === nothing && return nothing
Expand Down Expand Up @@ -880,7 +880,8 @@ function collect_const_args(argtypes::Vector{Any}, start::Int)
end

function concrete_eval_call(interp::AbstractInterpreter,
@nospecialize(f), result::MethodCallResult, arginfo::ArgInfo, invokecall::Union{InvokeCall,Nothing})
@nospecialize(f), result::MethodCallResult, arginfo::ArgInfo,
sv::AbsIntState, invokecall::Union{InvokeCall,Nothing})
args = collect_const_args(arginfo, #=start=#2)
if invokecall !== nothing
# this call should be `invoke`d, rewrite `args` back now
Expand Down

0 comments on commit 2b11a60

Please sign in to comment.