Skip to content

Commit

Permalink
add missing edges to invoke Expr
Browse files Browse the repository at this point in the history
  • Loading branch information
vtjnash committed Sep 13, 2016
1 parent 0490a9e commit 32bee7b
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions base/inference.jl
Original file line number Diff line number Diff line change
Expand Up @@ -2575,6 +2575,7 @@ function inlineable(f::ANY, ft::ANY, e::Expr, atypes::Vector{Any}, sv::Inference
local sig = argtypes_to_type(atypes)
local li = ccall(:jl_get_spec_lambda, Any, (Any, UInt), sig, sv.world)
li === nothing && return false
add_backedge(li, sv)
local stmt = []
push!(stmt, Expr(:(=), linfo_var, li))
spec_hit === nothing && (spec_hit = genlabel(sv))
Expand Down Expand Up @@ -2642,6 +2643,7 @@ function inlineable(f::ANY, ft::ANY, e::Expr, atypes::Vector{Any}, sv::Inference
else
local cache_linfo = ccall(:jl_get_spec_lambda, Any, (Any, UInt), atype_unlimited, sv.world)
cache_linfo === nothing && return NF
add_backedge(cache_linfo, sv)
e.head = :invoke
unshift!(e.args, cache_linfo)
return e
Expand Down

0 comments on commit 32bee7b

Please sign in to comment.