@@ -137,9 +137,6 @@ function retrieve_code_info(linfo::MethodInstance)
137137 return nothing
138138end
139139
140- # Get at the nonfunction_mt, which happens to be the mt of SimpleVector
141- const nonfunction_mt = typename (SimpleVector). mt
142-
143140function get_compileable_sig (method:: Method , @nospecialize (atypes), sparams:: SimpleVector )
144141 isa (atypes, DataType) || return nothing
145142 mt = ccall (:jl_method_table_for , Any, (Any,), atypes)
@@ -148,6 +145,9 @@ function get_compileable_sig(method::Method, @nospecialize(atypes), sparams::Sim
148145 mt, atypes, sparams, method)
149146end
150147
148+ isa_compileable_sig (@nospecialize (atype), method:: Method ) =
149+ ! iszero (ccall (:jl_isa_compileable_sig , Int32, (Any, Any), atype, method))
150+
151151# eliminate UnionAll vars that might be degenerate due to having identical bounds,
152152# or a concrete upper bound and appearing covariantly.
153153function subst_trivial_bounds (@nospecialize (atypes))
228228
229229argextype (@nospecialize (x), state) = argextype (x, state. src, state. sptypes, state. slottypes)
230230
231- const empty_slottypes = Any[]
231+ const EMPTY_SLOTTYPES = Any[]
232232
233- function argextype (@nospecialize (x), src, sptypes:: Vector{Any} , slottypes:: Vector{Any} = empty_slottypes )
233+ function argextype (@nospecialize (x), src, sptypes:: Vector{Any} , slottypes:: Vector{Any} = EMPTY_SLOTTYPES )
234234 if isa (x, Expr)
235235 if x. head === :static_parameter
236236 return sptypes[x. args[1 ]:: Int ]
0 commit comments