Skip to content

Base: bootstrap: eliminate Array-specific length methods#57627

Merged
adienes merged 1 commit intoJuliaLang:masterfrom
nsajko:Base_eliminate_Array_specific_methods_of_length
Aug 29, 2025
Merged

Base: bootstrap: eliminate Array-specific length methods#57627
adienes merged 1 commit intoJuliaLang:masterfrom
nsajko:Base_eliminate_Array_specific_methods_of_length

Conversation

@nsajko
Copy link
Copy Markdown
Member

@nsajko nsajko commented Mar 3, 2025

Three methods of length are deleted.

Made possible by moving the following methods to earlier within the bootstrapping:

  • size(a::Array)
  • length(t::AbstractArray)

Improves abstract return type inference of f(x::Array) = length(a), presumably because the method count is now low enough for the world-splitting optimization to kick in.

@nsajko nsajko added the arrays [a, r, r, a, y, s] label Mar 3, 2025
@nsajko nsajko marked this pull request as draft March 6, 2025 17:54
@KristofferC
Copy link
Copy Markdown
Member

length is a common function to extend so won't this increase invalidations since when someone adds a length method this will cause all the methods in base that inferred based on the method count to be invalidated?

@nsajko
Copy link
Copy Markdown
Member Author

nsajko commented Mar 31, 2025

Absolutely, this causes tons of invalidations, which is why I marked the PR as draft. Perhaps it'd make sense to set max_methods to 1? I keep postponing this to until the current invalidations are fixed so I haven't really given this proper thought.

nsajko added a commit to nsajko/julia that referenced this pull request Aug 27, 2025
The method return type is known concretely as `OneTo{Int}`, however the
compiler can't tell because there are too many methods matching
`length(::Array)`, over the world-splitting threshold, `max_methods`.

Cross-reference PR JuliaLang#57627, which might help here in another way by
decreasing the number of unnecessary methods, however merging that PR
would also cause regressions if world-splitting is not disabled first
for `length` (xref PR JuliaLang#59377).

Fix that by asserting the return type of the `length` call as `Int`.

The `typeassert` should improve abstract return type inference, and
consequently make the sysimage more resistant to invalidation.
nsajko added a commit to nsajko/julia that referenced this pull request Aug 27, 2025
The method return type is known concretely as `OneTo{Int}`, however the
compiler can't tell because there are too many methods matching
`length(::Array)`, over the world-splitting threshold, `max_methods`.

Cross-reference WIP PR JuliaLang#57627, which might help here in another way by
decreasing the number of unnecessary methods, however merging that PR
would also cause regressions if world-splitting is not disabled first
for `length` (xref WIP PR JuliaLang#59377).

Fix that by asserting the return type of the `length` call as `Int`.

The `typeassert` should improve abstract return type inference, and
consequently make the sysimage more resistant to invalidation.
nsajko added a commit to nsajko/julia that referenced this pull request Aug 27, 2025
Three methods of `length` are deleted.

Made possible by moving the following methods to earlier within the
bootstrapping:
* `size(a::Array)`
* `length(t::AbstractArray)`

Improves abstract return type inference of `f(x::Array) = length(a)`,
presumably because the method count is now low enough for the
world-splitting optimization to kick in.

(cherry picked from commit c4e59a6)

(cherry picked from PR JuliaLang#57627)

Closes PR JuliaLang#57627
@nsajko nsajko marked this pull request as ready for review August 28, 2025 09:41
@nsajko
Copy link
Copy Markdown
Member Author

nsajko commented Aug 28, 2025

Just tried checking again how this PR affects the resistance of the sysimage to invalidation:

  • I didn't find any invalidations caused by this PR

  • This PR makes the sysimage much more resistant to invalidation

In particular, this entire tree of invalidations is prevented by this PR:

Details

{
    "method_instance": {
        "method": "_iterate_abstractarray(A::AbstractArray, state::Integer) @ Base abstractarray.jl:1247",
        "method_instance": "MethodInstance for Base._iterate_abstractarray(::Array, ::Integer)"
    },
    "children": [
        {
            "method_instance": {
                "method": "iterate(A::AbstractArray, state) @ Base abstractarray.jl:1241",
                "method_instance": "MethodInstance for iterate(::Array, ::Any)"
            },
            "children": [
                {
                    "method_instance": {
                        "method": "iterate(A::AbstractArray) @ Base abstractarray.jl:1241",
                        "method_instance": "MethodInstance for iterate(::Array)"
                    },
                    "children": [
                        {
                            "method_instance": {
                                "method": "show_list(io::IO, items, sep, indent::Int64, prec::Int64, quote_level::Int64, enclose_operators::Bool, kw::Bool) @ Base show.jl:1654",
                                "method_instance": "MethodInstance for Base.show_list(::IOContext{IOBuffer}, ::Array, ::String, ::Int64, ::Int64, ::Int64, ::Bool, ::Bool)"
                            },
                            "children": [
                                {
                                    "method_instance": {
                                        "method": "show_list(io::IO, items, sep, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1654",
                                        "method_instance": "MethodInstance for Base.show_list(::IOContext{IOBuffer}, ::Vector, ::String, ::Int64, ::Int64, ::Int64)"
                                    },
                                    "children": [
                                        {
                                            "method_instance": {
                                                "method": "show_block(io::IO, head, args::Vector, body, indent::Int64, quote_level::Int64) @ Base show.jl:1625",
                                                "method_instance": "MethodInstance for Base.show_block(::IOContext{IOBuffer}, ::String, ::Vector, ::Expr, ::Int64, ::Int64)"
                                            },
                                            "children": [
                                                {
                                                    "method_instance": {
                                                        "method": "show_unquoted(io::IO, ex::Expr, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1898",
                                                        "method_instance": "MethodInstance for Base.show_unquoted(::IOBuffer, ::Expr, ::Int64, ::Int64, ::Int64)"
                                                    },
                                                    "children": [
                                                    ]
                                                }
                                            ]
                                        },
                                        {
                                            "method_instance": {
                                                "method": "show_block(io::IO, head, args::Vector, body, indent::Int64, quote_level::Int64) @ Base show.jl:1625",
                                                "method_instance": "MethodInstance for Base.show_block(::IOContext{IOBuffer}, ::Symbol, ::Vector, ::Any, ::Int64, ::Int64)"
                                            },
                                            "children": [
                                                {
                                                    "method_instance": {
                                                        "method": "show_unquoted(io::IO, ex::Expr, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1898",
                                                        "method_instance": "MethodInstance for Base.show_unquoted(::IOBuffer, ::Expr, ::Int64, ::Int64, ::Int64)"
                                                    },
                                                    "children": [
                                                        {
                                                            "method_instance": {
                                                                "method": "show_block(io::IO, head, args::Vector, body, indent::Int64, quote_level::Int64) @ Base show.jl:1625",
                                                                "method_instance": "MethodInstance for Base.show_block(::IOBuffer, ::String, ::Vector{Any}, ::Expr, ::Int64, ::Int64)"
                                                            },
                                                            "children": [
                                                            ]
                                                        },
                                                        {
                                                            "method_instance": {
                                                                "method": "show_call(io::IO, head, func, func_args, indent, quote_level, kw::Bool) @ Base show.jl:1691",
                                                                "method_instance": "MethodInstance for Base.show_call(::IOBuffer, ::Symbol, ::Any, ::Vector{Any}, ::Int64, ::Int64, ::Bool)"
                                                            },
                                                            "children": [
                                                            ]
                                                        },
                                                        {
                                                            "method_instance": {
                                                                "method": "show_call(io::IO, head, func, func_args, indent, quote_level, kw::Bool) @ Base show.jl:1691",
                                                                "method_instance": "MethodInstance for Base.show_call(::IOBuffer, ::Symbol, ::Expr, ::Vector{Any}, ::Int64, ::Int64, ::Bool)"
                                                            },
                                                            "children": [
                                                            ]
                                                        },
                                                        {
                                                            "method_instance": {
                                                                "method": "show_generator(io, ex::Expr, indent, quote_level) @ Base show.jl:1806",
                                                                "method_instance": "MethodInstance for Base.show_generator(::IOBuffer, ::Expr, ::Int64, ::Int64)"
                                                            },
                                                            "children": [
                                                            ]
                                                        },
                                                        {
                                                            "method_instance": {
                                                                "method": "show_import_path(io::IO, ex, quote_level) @ Base show.jl:1834",
                                                                "method_instance": "MethodInstance for Base.show_import_path(::IOBuffer, ::Any, ::Int64)"
                                                            },
                                                            "children": [
                                                                {
                                                                    "method_instance": {
                                                                        "method": "show_import_path(io::IO, ex, quote_level) @ Base show.jl:1834",
                                                                        "method_instance": "MethodInstance for Base.show_import_path(::IOBuffer, ::Any, ::Int64)"
                                                                    },
                                                                    "children": [
                                                                    ]
                                                                },
                                                                {
                                                                    "method_instance": {
                                                                        "method": "show_unquoted(io::IO, ex::Expr, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1898",
                                                                        "method_instance": "MethodInstance for Base.show_unquoted(::IOBuffer, ::Expr, ::Int64, ::Int64, ::Int64)"
                                                                    },
                                                                    "children": [
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        {
                                                            "method_instance": {
                                                                "method": "show_list(io::IO, items, sep, indent::Int64, prec::Int64, quote_level::Int64, enclose_operators::Bool, kw::Bool) @ Base show.jl:1654",
                                                                "method_instance": "MethodInstance for Base.show_list(::IOBuffer, ::Any, ::String, ::Int64, ::Int64, ::Int64, ::Bool, ::Bool)"
                                                            },
                                                            "children": [
                                                            ]
                                                        },
                                                        {
                                                            "method_instance": {
                                                                "method": "show_list(io::IO, items, sep, indent::Int64, prec::Int64, quote_level::Int64, enclose_operators::Bool, kw::Bool) @ Base show.jl:1654",
                                                                "method_instance": "MethodInstance for Base.show_list(::IOBuffer, ::Vector{Any}, ::Char, ::Int64, ::Int64, ::Int64, ::Bool, ::Bool)"
                                                            },
                                                            "children": [
                                                            ]
                                                        },
                                                        {
                                                            "method_instance": {
                                                                "method": "show_list(io::IO, items, sep, indent::Int64, prec::Int64, quote_level::Int64, enclose_operators::Bool, kw::Bool) @ Base show.jl:1654",
                                                                "method_instance": "MethodInstance for Base.show_list(::IOBuffer, ::Vector{Any}, ::String, ::Int64, ::Int64, ::Int64, ::Bool, ::Bool)"
                                                            },
                                                            "children": [
                                                                {
                                                                    "method_instance": {
                                                                        "method": "show_call(io::IO, head, func, func_args, indent, quote_level, kw::Bool) @ Base show.jl:1691",
                                                                        "method_instance": "MethodInstance for Base.show_call(::IOBuffer, ::Symbol, ::Any, ::Vector{Any}, ::Int64, ::Int64, ::Bool)"
                                                                    },
                                                                    "children": [
                                                                    ]
                                                                },
                                                                {
                                                                    "method_instance": {
                                                                        "method": "show_call(io::IO, head, func, func_args, indent, quote_level, kw::Bool) @ Base show.jl:1691",
                                                                        "method_instance": "MethodInstance for Base.show_call(::IOBuffer, ::Symbol, ::Expr, ::Vector{Any}, ::Int64, ::Int64, ::Bool)"
                                                                    },
                                                                    "children": [
                                                                    ]
                                                                },
                                                                {
                                                                    "method_instance": {
                                                                        "method": "show_call(io::IO, head, func, func_args, indent, quote_level, kw::Bool) @ Base show.jl:1691",
                                                                        "method_instance": "MethodInstance for Base.show_call(::IOBuffer, ::Symbol, ::Symbol, ::Vector{Any}, ::Int64, ::Int64, ::Bool)"
                                                                    },
                                                                    "children": [
                                                                    ]
                                                                },
                                                                {
                                                                    "method_instance": {
                                                                        "method": "show_enclosed_list(io::IO, op, items, sep, cl, indent, prec, quote_level, encl_ops, kw::Bool) @ Base show.jl:1682",
                                                                        "method_instance": "MethodInstance for Base.show_enclosed_list(::IOBuffer, ::Char, ::Vector{Any}, ::String, ::Char, ::Int64, ::Int64, ::Int64, ::Bool, ::Bool)"
                                                                    },
                                                                    "children": [
                                                                        {
                                                                            "method_instance": {
                                                                                "method": "show_call(io::IO, head, func, func_args, indent, quote_level, kw::Bool) @ Base show.jl:1691",
                                                                                "method_instance": "MethodInstance for Base.show_call(::IOBuffer, ::Symbol, ::Any, ::Vector{Any}, ::Int64, ::Int64, ::Bool)"
                                                                            },
                                                                            "children": [
                                                                                {
                                                                                    "method_instance": {
                                                                                        "method": "show_unquoted(io::IO, ex::Expr, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1898",
                                                                                        "method_instance": "MethodInstance for Base.show_unquoted(::IOBuffer, ::Expr, ::Int64, ::Int64, ::Int64)"
                                                                                    },
                                                                                    "children": [
                                                                                    ]
                                                                                }
                                                                            ]
                                                                        },
                                                                        {
                                                                            "method_instance": {
                                                                                "method": "show_call(io::IO, head, func, func_args, indent, quote_level, kw::Bool) @ Base show.jl:1691",
                                                                                "method_instance": "MethodInstance for Base.show_call(::IOBuffer, ::Symbol, ::Expr, ::Vector{Any}, ::Int64, ::Int64, ::Bool)"
                                                                            },
                                                                            "children": [
                                                                            ]
                                                                        },
                                                                        {
                                                                            "method_instance": {
                                                                                "method": "show_call(io::IO, head, func, func_args, indent, quote_level, kw::Bool) @ Base show.jl:1691",
                                                                                "method_instance": "MethodInstance for Base.show_call(::IOBuffer, ::Symbol, ::Symbol, ::Vector{Any}, ::Int64, ::Int64, ::Bool)"
                                                                            },
                                                                            "children": [
                                                                                {
                                                                                    "method_instance": {
                                                                                        "method": "show_unquoted(io::IO, ex::Expr, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1898",
                                                                                        "method_instance": "MethodInstance for Base.show_unquoted(::IOBuffer, ::Expr, ::Int64, ::Int64, ::Int64)"
                                                                                    },
                                                                                    "children": [
                                                                                    ]
                                                                                }
                                                                            ]
                                                                        },
                                                                        {
                                                                            "method_instance": {
                                                                                "method": "show_enclosed_list(io::IO, op, items, sep, cl, indent, prec) @ Base show.jl:1682",
                                                                                "method_instance": "MethodInstance for Base.show_enclosed_list(::IOBuffer, ::Char, ::Vector{Any}, ::String, ::Char, ::Int64, ::Int64)"
                                                                            },
                                                                            "children": [
                                                                                {
                                                                                    "method_instance": {
                                                                                        "method": "show_unquoted(io::IO, ex::Expr, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1898",
                                                                                        "method_instance": "MethodInstance for Base.show_unquoted(::IOBuffer, ::Expr, ::Int64, ::Int64, ::Int64)"
                                                                                    },
                                                                                    "children": [
                                                                                    ]
                                                                                }
                                                                            ]
                                                                        },
                                                                        {
                                                                            "method_instance": {
                                                                                "method": "show_enclosed_list(io::IO, op, items, sep, cl, indent, prec, quote_level) @ Base show.jl:1682",
                                                                                "method_instance": "MethodInstance for Base.show_enclosed_list(::IOBuffer, ::Char, ::Vector{Any}, ::String, ::Char, ::Int64, ::Int64, ::Int64)"
                                                                            },
                                                                            "children": [
                                                                                {
                                                                                    "method_instance": {
                                                                                        "method": "show_unquoted(io::IO, ex::Expr, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1898",
                                                                                        "method_instance": "MethodInstance for Base.show_unquoted(::IOBuffer, ::Expr, ::Int64, ::Int64, ::Int64)"
                                                                                    },
                                                                                    "children": [
                                                                                    ]
                                                                                }
                                                                            ]
                                                                        },
                                                                        {
                                                                            "method_instance": {
                                                                                "method": "show_enclosed_list(io::IO, op, items, sep, cl, indent, prec, quote_level, encl_ops) @ Base show.jl:1682",
                                                                                "method_instance": "MethodInstance for Base.show_enclosed_list(::IOBuffer, ::Char, ::Vector{Any}, ::String, ::Char, ::Int64, ::Int64, ::Int64, ::Bool)"
                                                                            },
                                                                            "children": [
                                                                                {
                                                                                    "method_instance": {
                                                                                        "method": "show_unquoted(io::IO, ex::Expr, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1898",
                                                                                        "method_instance": "MethodInstance for Base.show_unquoted(::IOBuffer, ::Expr, ::Int64, ::Int64, ::Int64)"
                                                                                    },
                                                                                    "children": [
                                                                                    ]
                                                                                }
                                                                            ]
                                                                        }
                                                                    ]
                                                                },
                                                                {
                                                                    "method_instance": {
                                                                        "method": "show_enclosed_list(io::IO, op, items, sep, cl, indent, prec, quote_level, encl_ops, kw::Bool) @ Base show.jl:1682",
                                                                        "method_instance": "MethodInstance for Base.show_enclosed_list(::IOBuffer, ::String, ::Vector{Any}, ::String, ::String, ::Int64, ::Int64, ::Int64, ::Bool, ::Bool)"
                                                                    },
                                                                    "children": [
                                                                        {
                                                                            "method_instance": {
                                                                                "method": "show_enclosed_list(io::IO, op, items, sep, cl, indent, prec, quote_level) @ Base show.jl:1682",
                                                                                "method_instance": "MethodInstance for Base.show_enclosed_list(::IOBuffer, ::String, ::Vector{Any}, ::String, ::String, ::Int64, ::Int64, ::Int64)"
                                                                            },
                                                                            "children": [
                                                                                {
                                                                                    "method_instance": {
                                                                                        "method": "show_unquoted(io::IO, ex::Expr, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1898",
                                                                                        "method_instance": "MethodInstance for Base.show_unquoted(::IOBuffer, ::Expr, ::Int64, ::Int64, ::Int64)"
                                                                                    },
                                                                                    "children": [
                                                                                    ]
                                                                                }
                                                                            ]
                                                                        }
                                                                    ]
                                                                },
                                                                {
                                                                    "method_instance": {
                                                                        "method": "show_list(io::IO, items, sep, indent::Int64) @ Base show.jl:1654",
                                                                        "method_instance": "MethodInstance for Base.show_list(::IOBuffer, ::Vector{Any}, ::String, ::Int64)"
                                                                    },
                                                                    "children": [
                                                                        {
                                                                            "method_instance": {
                                                                                "method": "show_unquoted(io::IO, ex::Expr, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1898",
                                                                                "method_instance": "MethodInstance for Base.show_unquoted(::IOBuffer, ::Expr, ::Int64, ::Int64, ::Int64)"
                                                                            },
                                                                            "children": [
                                                                            ]
                                                                        }
                                                                    ]
                                                                },
                                                                {
                                                                    "method_instance": {
                                                                        "method": "show_list(io::IO, items, sep, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1654",
                                                                        "method_instance": "MethodInstance for Base.show_list(::IOBuffer, ::Vector{Any}, ::String, ::Int64, ::Int64, ::Int64)"
                                                                    },
                                                                    "children": [
                                                                        {
                                                                            "method_instance": {
                                                                                "method": "show_block(io::IO, head, args::Vector, body, indent::Int64, quote_level::Int64) @ Base show.jl:1625",
                                                                                "method_instance": "MethodInstance for Base.show_block(::IOBuffer, ::String, ::Vector{Any}, ::Expr, ::Int64, ::Int64)"
                                                                            },
                                                                            "children": [
                                                                                {
                                                                                    "method_instance": {
                                                                                        "method": "show_block(io::IO, head, block, i::Int64, quote_level::Int64) @ Base show.jl:1644",
                                                                                        "method_instance": "MethodInstance for Base.show_block(::IOBuffer, ::String, ::Expr, ::Int64, ::Int64)"
                                                                                    },
                                                                                    "children": [
                                                                                        {
                                                                                            "method_instance": {
                                                                                                "method": "show_unquoted(io::IO, ex::Expr, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1898",
                                                                                                "method_instance": "MethodInstance for Base.show_unquoted(::IOBuffer, ::Expr, ::Int64, ::Int64, ::Int64)"
                                                                                            },
                                                                                            "children": [
                                                                                            ]
                                                                                        }
                                                                                    ]
                                                                                }
                                                                            ]
                                                                        },
                                                                        {
                                                                            "method_instance": {
                                                                                "method": "show_generator(io, ex::Expr, indent, quote_level) @ Base show.jl:1806",
                                                                                "method_instance": "MethodInstance for Base.show_generator(::IOBuffer, ::Expr, ::Int64, ::Int64)"
                                                                            },
                                                                            "children": [
                                                                                {
                                                                                    "method_instance": {
                                                                                        "method": "show_unquoted(io::IO, ex::Expr, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1898",
                                                                                        "method_instance": "MethodInstance for Base.show_unquoted(::IOBuffer, ::Expr, ::Int64, ::Int64, ::Int64)"
                                                                                    },
                                                                                    "children": [
                                                                                    ]
                                                                                }
                                                                            ]
                                                                        },
                                                                        {
                                                                            "method_instance": {
                                                                                "method": "show_unquoted(io::IO, ex::Expr, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1898",
                                                                                "method_instance": "MethodInstance for Base.show_unquoted(::IOBuffer, ::Expr, ::Int64, ::Int64, ::Int64)"
                                                                            },
                                                                            "children": [
                                                                            ]
                                                                        }
                                                                    ]
                                                                },
                                                                {
                                                                    "method_instance": {
                                                                        "method": "show_list(io::IO, items, sep, indent::Int64, prec::Int64, quote_level::Int64, enclose_operators::Bool) @ Base show.jl:1654",
                                                                        "method_instance": "MethodInstance for Base.show_list(::IOBuffer, ::Vector{Any}, ::String, ::Int64, ::Int64, ::Int64, ::Bool)"
                                                                    },
                                                                    "children": [
                                                                        {
                                                                            "method_instance": {
                                                                                "method": "show_unquoted(io::IO, ex::Expr, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1898",
                                                                                "method_instance": "MethodInstance for Base.show_unquoted(::IOBuffer, ::Expr, ::Int64, ::Int64, ::Int64)"
                                                                            },
                                                                            "children": [
                                                                            ]
                                                                        }
                                                                    ]
                                                                },
                                                                {
                                                                    "method_instance": {
                                                                        "method": "show_unquoted(io::IO, ex::Expr, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1898",
                                                                        "method_instance": "MethodInstance for Base.show_unquoted(::IOBuffer, ::Expr, ::Int64, ::Int64, ::Int64)"
                                                                    },
                                                                    "children": [
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        {
                                                            "method_instance": {
                                                                "method": "show_list(io::IO, items, sep, indent::Int64, prec::Int64, quote_level::Int64, enclose_operators::Bool, kw::Bool) @ Base show.jl:1654",
                                                                "method_instance": "MethodInstance for Base.show_list(::IOBuffer, ::Vector{Any}, ::Symbol, ::Int64, ::Int64, ::Int64, ::Bool, ::Bool)"
                                                            },
                                                            "children": [
                                                            ]
                                                        },
                                                        {
                                                            "method_instance": {
                                                                "method": "show_list(io::IO, items, sep, indent::Int64, prec::Int64, quote_level::Int64, enclose_operators::Bool, kw::Bool) @ Base show.jl:1654",
                                                                "method_instance": "MethodInstance for Base.show_list(::IOBuffer, ::Vector{Expr}, ::String, ::Int64, ::Int64, ::Int64, ::Bool, ::Bool)"
                                                            },
                                                            "children": [
                                                            ]
                                                        },
                                                        {
                                                            "method_instance": {
                                                                "method": "show_unquoted(io::IO, ex::Expr, indent::Int64, prec::Int64) @ Base show.jl:1898",
                                                                "method_instance": "MethodInstance for Base.show_unquoted(::IOBuffer, ::Expr, ::Int64, ::Int64)"
                                                            },
                                                            "children": [
                                                                {
                                                                    "method_instance": {
                                                                        "method": "show_unquoted(io::IO, ex) @ Base show.jl:1525",
                                                                        "method_instance": "MethodInstance for Base.show_unquoted(::IOBuffer, ::Expr)"
                                                                    },
                                                                    "children": [
                                                                        {
                                                                            "method_instance": {
                                                                                "method": "show_unquoted(io::IO, ex::Expr, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1898",
                                                                                "method_instance": "MethodInstance for Base.show_unquoted(::IOBuffer, ::Expr, ::Int64, ::Int64, ::Int64)"
                                                                            },
                                                                            "children": [
                                                                            ]
                                                                        },
                                                                        {
                                                                            "method_instance": {
                                                                                "method": "showerror(io::IO, ex::MethodError) @ Base errorshow.jl:255",
                                                                                "method_instance": "MethodInstance for showerror(::IOBuffer, ::MethodError)"
                                                                            },
                                                                            "children": [
                                                                                {
                                                                                    "method_instance": {
                                                                                        "method": "(::Base.var\"#which##0#which##1\")(io) @ Base reflection.jl:946",
                                                                                        "method_instance": "MethodInstance for (::Base.var\"#which##0#which##1\"{MethodError})(::IOBuffer)"
                                                                                    },
                                                                                    "children": [
                                                                                        {
                                                                                            "method_instance": {
                                                                                                "method": "var\"#sprint#439\"(context, sizehint::Integer, ::typeof(sprint), f::Function, args...) @ Base strings/io.jl:106",
                                                                                                "method_instance": "MethodInstance for Base.var\"#sprint#439\"(::Nothing, ::Int64, ::typeof(sprint), ::Base.var\"#which##0#which##1\"{MethodError})"
                                                                                            },
                                                                                            "children": [
                                                                                                {
                                                                                                    "method_instance": {
                                                                                                        "method": "sprint(f::Function, args...; context, sizehint) @ Base strings/io.jl:106",
                                                                                                        "method_instance": "MethodInstance for sprint(::Base.var\"#which##0#which##1\"{MethodError})"
                                                                                                    },
                                                                                                    "children": [
                                                                                                        {
                                                                                                            "method_instance": {
                                                                                                                "method": "which(f, t) @ Base reflection.jl:940",
                                                                                                                "method_instance": "MethodInstance for which(::Any, ::Any)"
                                                                                                            },
                                                                                                            "children": [
                                                                                                                {
                                                                                                                    "method_instance": {
                                                                                                                        "method": "_propertynames_bytype(T::Type) @ Base errorshow.jl:1230",
                                                                                                                        "method_instance": "MethodInstance for Base._propertynames_bytype(::Type)"
                                                                                                                    },
                                                                                                                    "children": [
                                                                                                                    ]
                                                                                                                },
                                                                                                                {
                                                                                                                    "method_instance": {
                                                                                                                        "method": "functionloc(f, types) @ Base methodshow.jl:183",
                                                                                                                        "method_instance": "MethodInstance for functionloc(::Any, ::Any)"
                                                                                                                    },
                                                                                                                    "children": [
                                                                                                                    ]
                                                                                                                },
                                                                                                                {
                                                                                                                    "method_instance": {
                                                                                                                        "method": "load_irshow!() @ Compiler ~/tmp/jl/jl/julia-cbea8cf28e/share/julia/Compiler/src/Compiler.jl:211",
                                                                                                                        "method_instance": "MethodInstance for Compiler.load_irshow!()"
                                                                                                                    },
                                                                                                                    "children": [
                                                                                                                    ]
                                                                                                                }
                                                                                                            ]
                                                                                                        },
                                                                                                        {
                                                                                                            "method_instance": {
                                                                                                                "method": "which(f, t) @ Base reflection.jl:940",
                                                                                                                "method_instance": "MethodInstance for which(::typeof(Compiler.verify_typeinf_trim), ::Tuple{DataType, DataType, DataType})"
                                                                                                            },
                                                                                                            "children": [
                                                                                                            ]
                                                                                                        },
                                                                                                        {
                                                                                                            "method_instance": {
                                                                                                                "method": "which(f, t) @ Base reflection.jl:940",
                                                                                                                "method_instance": "MethodInstance for which(::typeof(Compiler.verify_typeinf_trim), ::Tuple{DataType, DataType, DataType})"
                                                                                                            },
                                                                                                            "children": [
                                                                                                                {
                                                                                                                    "method_instance": {
                                                                                                                        "method": "load_irshow!() @ Compiler ~/tmp/jl/jl/julia-cbea8cf28e/share/julia/Compiler/src/Compiler.jl:211",
                                                                                                                        "method_instance": "MethodInstance for Compiler.load_irshow!()"
                                                                                                                    },
                                                                                                                    "children": [
                                                                                                                    ]
                                                                                                                }
                                                                                                            ]
                                                                                                        },
                                                                                                        {
                                                                                                            "method_instance": {
                                                                                                                "method": "which(f, t) @ Base reflection.jl:940",
                                                                                                                "method_instance": "MethodInstance for which(::typeof(propertynames), ::Tuple{DataType})"
                                                                                                            },
                                                                                                            "children": [
                                                                                                            ]
                                                                                                        },
                                                                                                        {
                                                                                                            "method_instance": {
                                                                                                                "method": "which(f, t) @ Base reflection.jl:940",
                                                                                                                "method_instance": "MethodInstance for which(::typeof(propertynames), ::Tuple{DataType})"
                                                                                                            },
                                                                                                            "children": [
                                                                                                                {
                                                                                                                    "method_instance": {
                                                                                                                        "method": "_propertynames_bytype(T::Type) @ Base errorshow.jl:1230",
                                                                                                                        "method_instance": "MethodInstance for Base._propertynames_bytype(::Type)"
                                                                                                                    },
                                                                                                                    "children": [
                                                                                                                    ]
                                                                                                                }
                                                                                                            ]
                                                                                                        },
                                                                                                        {
                                                                                                            "method_instance": {
                                                                                                                "method": "which(f, t) @ Base reflection.jl:940",
                                                                                                                "method_instance": "MethodInstance for which(::typeof(propertynames), ::Tuple{Type})"
                                                                                                            },
                                                                                                            "children": [
                                                                                                                {
                                                                                                                    "method_instance": {
                                                                                                                        "method": "_propertynames_bytype(T::Type) @ Base errorshow.jl:1230",
                                                                                                                        "method_instance": "MethodInstance for Base._propertynames_bytype(::Type)"
                                                                                                                    },
                                                                                                                    "children": [
                                                                                                                    ]
                                                                                                                }
                                                                                                            ]
                                                                                                        }
                                                                                                    ]
                                                                                                }
                                                                                            ]
                                                                                        }
                                                                                    ]
                                                                                }
                                                                            ]
                                                                        },
                                                                        {
                                                                            "method_instance": {
                                                                                "method": "var\"#sprint#439\"(context, sizehint::Integer, ::typeof(sprint), f::Function, args...) @ Base strings/io.jl:106",
                                                                                "method_instance": "MethodInstance for Base.var\"#sprint#439\"(::Nothing, ::Int64, ::typeof(sprint), ::typeof(Base.show_unquoted), ::Expr)"
                                                                            },
                                                                            "children": [
                                                                            ]
                                                                        }
                                                                    ]
                                                                }
                                                            ]
                                                        },
                                                        {
                                                            "method_instance": {
                                                                "method": "show_unquoted(io::IO, ex::Expr, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1898",
                                                                "method_instance": "MethodInstance for Base.show_unquoted(::IOBuffer, ::Expr, ::Int64, ::Int64, ::Int64)"
                                                            },
                                                            "children": [
                                                            ]
                                                        },
                                                        {
                                                            "method_instance": {
                                                                "method": "show_unquoted_quote_expr(io::IO, value, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1781",
                                                                "method_instance": "MethodInstance for Base.show_unquoted_quote_expr(::IOBuffer, ::Any, ::Int64, ::Int64, ::Int64)"
                                                            },
                                                            "children": [
                                                                {
                                                                    "method_instance": {
                                                                        "method": "show(io::IO, s::Symbol) @ Base show.jl:1485",
                                                                        "method_instance": "MethodInstance for show(::IOBuffer, ::Symbol)"
                                                                    },
                                                                    "children": [
                                                                        {
                                                                            "method_instance": {
                                                                                "method": "print(io::IO, x) @ Base strings/io.jl:32",
                                                                                "method_instance": "MethodInstance for print(::IOBuffer, ::Symbol)"
                                                                            },
                                                                            "children": [
                                                                            ]
                                                                        },
                                                                        {
                                                                            "method_instance": {
                                                                                "method": "show_unquoted_expr_fallback(io::IO, ex::Expr, indent::Int64, quote_level::Int64) @ Base show.jl:1887",
                                                                                "method_instance": "MethodInstance for Base.show_unquoted_expr_fallback(::IOBuffer, ::Expr, ::Int64, ::Int64)"
                                                                            },
                                                                            "children": [
                                                                                {
                                                                                    "method_instance": {
                                                                                        "method": "show_list(io::IO, items, sep, indent::Int64, prec::Int64, quote_level::Int64, enclose_operators::Bool, kw::Bool) @ Base show.jl:1654",
                                                                                        "method_instance": "MethodInstance for Base.show_list(::IOBuffer, ::Any, ::String, ::Int64, ::Int64, ::Int64, ::Bool, ::Bool)"
                                                                                    },
                                                                                    "children": [
                                                                                        {
                                                                                            "method_instance": {
                                                                                                "method": "show_list(io::IO, items, sep, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1654",
                                                                                                "method_instance": "MethodInstance for Base.show_list(::IOBuffer, ::Any, ::String, ::Int64, ::Int64, ::Int64)"
                                                                                            },
                                                                                            "children": [
                                                                                                {
                                                                                                    "method_instance": {
                                                                                                        "method": "show_generator(io, ex::Expr, indent, quote_level) @ Base show.jl:1806",
                                                                                                        "method_instance": "MethodInstance for Base.show_generator(::IOBuffer, ::Expr, ::Int64, ::Int64)"
                                                                                                    },
                                                                                                    "children": [
                                                                                                    ]
                                                                                                }
                                                                                            ]
                                                                                        }
                                                                                    ]
                                                                                },
                                                                                {
                                                                                    "method_instance": {
                                                                                        "method": "show_list(io::IO, items, sep, indent::Int64, prec::Int64, quote_level::Int64, enclose_operators::Bool, kw::Bool) @ Base show.jl:1654",
                                                                                        "method_instance": "MethodInstance for Base.show_list(::IOBuffer, ::Vector{Any}, ::Char, ::Int64, ::Int64, ::Int64, ::Bool, ::Bool)"
                                                                                    },
                                                                                    "children": [
                                                                                        {
                                                                                            "method_instance": {
                                                                                                "method": "show_list(io::IO, items, sep, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1654",
                                                                                                "method_instance": "MethodInstance for Base.show_list(::IOBuffer, ::Vector{Any}, ::Char, ::Int64, ::Int64, ::Int64)"
                                                                                            },
                                                                                            "children": [
                                                                                                {
                                                                                                    "method_instance": {
                                                                                                        "method": "show_unquoted(io::IO, ex::Expr, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1898",
                                                                                                        "method_instance": "MethodInstance for Base.show_unquoted(::IOBuffer, ::Expr, ::Int64, ::Int64, ::Int64)"
                                                                                                    },
                                                                                                    "children": [
                                                                                                    ]
                                                                                                }
                                                                                            ]
                                                                                        }
                                                                                    ]
                                                                                },
                                                                                {
                                                                                    "method_instance": {
                                                                                        "method": "show_list(io::IO, items, sep, indent::Int64, prec::Int64, quote_level::Int64, enclose_operators::Bool, kw::Bool) @ Base show.jl:1654",
                                                                                        "method_instance": "MethodInstance for Base.show_list(::IOBuffer, ::Vector{Any}, ::String, ::Int64, ::Int64, ::Int64, ::Bool, ::Bool)"
                                                                                    },
                                                                                    "children": [
                                                                                    ]
                                                                                },
                                                                                {
                                                                                    "method_instance": {
                                                                                        "method": "show_list(io::IO, items, sep, indent::Int64, prec::Int64, quote_level::Int64, enclose_operators::Bool, kw::Bool) @ Base show.jl:1654",
                                                                                        "method_instance": "MethodInstance for Base.show_list(::IOBuffer, ::Vector{Any}, ::Symbol, ::Int64, ::Int64, ::Int64, ::Bool, ::Bool)"
                                                                                    },
                                                                                    "children": [
                                                                                        {
                                                                                            "method_instance": {
                                                                                                "method": "show_enclosed_list(io::IO, op, items, sep, cl, indent, prec, quote_level, encl_ops, kw::Bool) @ Base show.jl:1682",
                                                                                                "method_instance": "MethodInstance for Base.show_enclosed_list(::IOBuffer, ::Char, ::Vector{Any}, ::Symbol, ::Char, ::Int64, ::Int64, ::Int64, ::Bool, ::Bool)"
                                                                                            },
                                                                                            "children": [
                                                                                                {
                                                                                                    "method_instance": {
                                                                                                        "method": "show_enclosed_list(io::IO, op, items, sep, cl, indent, prec, quote_level, encl_ops) @ Base show.jl:1682",
                                                                                                        "method_instance": "MethodInstance for Base.show_enclosed_list(::IOBuffer, ::Char, ::Vector{Any}, ::Symbol, ::Char, ::Int64, ::Int64, ::Int64, ::Bool)"
                                                                                                    },
                                                                                                    "children": [
                                                                                                        {
                                                                                                            "method_instance": {
                                                                                                                "method": "show_unquoted(io::IO, ex::Expr, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1898",
                                                                                                                "method_instance": "MethodInstance for Base.show_unquoted(::IOBuffer, ::Expr, ::Int64, ::Int64, ::Int64)"
                                                                                                            },
                                                                                                            "children": [
                                                                                                            ]
                                                                                                        }
                                                                                                    ]
                                                                                                }
                                                                                            ]
                                                                                        },
                                                                                        {
                                                                                            "method_instance": {
                                                                                                "method": "show_list(io::IO, items, sep, indent::Int64, prec::Int64, quote_level::Int64, enclose_operators::Bool) @ Base show.jl:1654",
                                                                                                "method_instance": "MethodInstance for Base.show_list(::IOBuffer, ::Vector{Any}, ::Symbol, ::Int64, ::Int64, ::Int64, ::Bool)"
                                                                                            },
                                                                                            "children": [
                                                                                                {
                                                                                                    "method_instance": {
                                                                                                        "method": "show_unquoted(io::IO, ex::Expr, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1898",
                                                                                                        "method_instance": "MethodInstance for Base.show_unquoted(::IOBuffer, ::Expr, ::Int64, ::Int64, ::Int64)"
                                                                                                    },
                                                                                                    "children": [
                                                                                                    ]
                                                                                                }
                                                                                            ]
                                                                                        }
                                                                                    ]
                                                                                },
                                                                                {
                                                                                    "method_instance": {
                                                                                        "method": "show_list(io::IO, items, sep, indent::Int64, prec::Int64, quote_level::Int64, enclose_operators::Bool, kw::Bool) @ Base show.jl:1654",
                                                                                        "method_instance": "MethodInstance for Base.show_list(::IOBuffer, ::Vector{Expr}, ::String, ::Int64, ::Int64, ::Int64, ::Bool, ::Bool)"
                                                                                    },
                                                                                    "children": [
                                                                                        {
                                                                                            "method_instance": {
                                                                                                "method": "show_enclosed_list(io::IO, op, items, sep, cl, indent, prec, quote_level, encl_ops, kw::Bool) @ Base show.jl:1682",
                                                                                                "method_instance": "MethodInstance for Base.show_enclosed_list(::IOBuffer, ::Char, ::Vector{Expr}, ::String, ::Char, ::Int64, ::Int64, ::Int64, ::Bool, ::Bool)"
                                                                                            },
                                                                                            "children": [
                                                                                                {
                                                                                                    "method_instance": {
                                                                                                        "method": "show_enclosed_list(io::IO, op, items, sep, cl, indent, prec) @ Base show.jl:1682",
                                                                                                        "method_instance": "MethodInstance for Base.show_enclosed_list(::IOBuffer, ::Char, ::Vector{Expr}, ::String, ::Char, ::Int64, ::Int64)"
                                                                                                    },
                                                                                                    "children": [
                                                                                                        {
                                                                                                            "method_instance": {
                                                                                                                "method": "show_unquoted(io::IO, ex::Expr, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1898",
                                                                                                                "method_instance": "MethodInstance for Base.show_unquoted(::IOBuffer, ::Expr, ::Int64, ::Int64, ::Int64)"
                                                                                                            },
                                                                                                            "children": [
                                                                                                            ]
                                                                                                        }
                                                                                                    ]
                                                                                                }
                                                                                            ]
                                                                                        }
                                                                                    ]
                                                                                },
                                                                                {
                                                                                    "method_instance": {
                                                                                        "method": "show_unquoted(io::IO, ex::Expr, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1898",
                                                                                        "method_instance": "MethodInstance for Base.show_unquoted(::IOBuffer, ::Expr, ::Int64, ::Int64, ::Int64)"
                                                                                    },
                                                                                    "children": [
                                                                                    ]
                                                                                }
                                                                            ]
                                                                        },
                                                                        {
                                                                            "method_instance": {
                                                                                "method": "var\"#sprint#439\"(context, sizehint::Integer, ::typeof(sprint), f::Function, args...) @ Base strings/io.jl:106",
                                                                                "method_instance": "MethodInstance for Base.var\"#sprint#439\"(::Nothing, ::Int64, ::typeof(sprint), ::typeof(show), ::Symbol)"
                                                                            },
                                                                            "children": [
                                                                            ]
                                                                        },
                                                                        {
                                                                            "method_instance": {
                                                                                "method": "var\"#sprint#439\"(context, sizehint::Integer, ::typeof(sprint), f::Function, args...) @ Base strings/io.jl:106",
                                                                                "method_instance": "MethodInstance for Base.var\"#sprint#439\"(::Nothing, ::Int64, ::typeof(sprint), ::typeof(show), ::Symbol)"
                                                                            },
                                                                            "children": [
                                                                                {
                                                                                    "method_instance": {
                                                                                        "method": "kwcall(::NamedTuple, ::typeof(sprint), f::Function, args...) @ Base strings/io.jl:106",
                                                                                        "method_instance": "MethodInstance for Core.kwcall(::@NamedTuple{context::Nothing}, ::typeof(sprint), ::typeof(show), ::Symbol)"
                                                                                    },
                                                                                    "children": [
                                                                                        {
                                                                                            "method_instance": {
                                                                                                "method": "var\"#repr#442\"(context, ::typeof(repr), x) @ Base strings/io.jl:282",
                                                                                                "method_instance": "MethodInstance for Base.var\"#repr#442\"(::Nothing, ::typeof(repr), ::Symbol)"
                                                                                            },
                                                                                            "children": [
                                                                                                {
                                                                                                    "method_instance": {
                                                                                                        "method": "repr(x; context) @ Base strings/io.jl:282",
                                                                                                        "method_instance": "MethodInstance for repr(::Symbol)"
                                                                                                    },
                                                                                                    "children": [
                                                                                                        {
                                                                                                            "method_instance": {
                                                                                                                "method": "(::Base.Compiler.IRShow.var\"#validate_debuginfo_mode##0#validate_debuginfo_mode##1\")(mode) @ Base.Compiler.IRShow none:0",
                                                                                                                "method_instance": "MethodInstance for (::Base.Compiler.IRShow.var\"#validate_debuginfo_mode##0#validate_debuginfo_mode##1\")(::Symbol)"
                                                                                                            },
                                                                                                            "children": [
                                                                                                                {
                                                                                                                    "method_instance": {
                                                                                                                        "method": "iterate(g::Base.Generator, s...) @ Base generator.jl:43",
                                                                                                                        "method_instance": "MethodInstance for iterate(::Base.Generator{Vector{Symbol}, Base.Compiler.IRShow.var\"#validate_debuginfo_mode##0#validate_debuginfo_mode##1\"})"
                                                                                                                    },
                                                                                                                    "children": [
                                                                                                                        {
                                                                                                                            "method_instance": {
                                                                                                                                "method": "_iterator_upper_bound(itr) @ Base array.jl:768",
                                                                                                                                "method_instance": "MethodInstance for Base._iterator_upper_bound(::Base.Generator{Vector{Symbol}, Base.Compiler.IRShow.var\"#validate_debuginfo_mode##0#validate_debuginfo_mode##1\"})"
                                                                                                                            },
                                                                                                                            "children": [
                                                                                                                                {
                                                                                                                                    "method_instance": {
                                                                                                                                        "method": "collect(itr::Base.Generator) @ Base array.jl:796",
                                                                                                                                        "method_instance": "MethodInstance for collect(::Base.Generator{Vector{Symbol}, Base.Compiler.IRShow.var\"#validate_debuginfo_mode##0#validate_debuginfo_mode##1\"})"
                                                                                                                                    },
                                                                                                                                    "children": [
                                                                                                                                        {
                                                                                                                                            "method_instance": {
                                                                                                                                                "method": "validate_debuginfo_mode(mode::Symbol) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:1191",
                                                                                                                                                "method_instance": "MethodInstance for Base.Compiler.IRShow.validate_debuginfo_mode(::Symbol)"
                                                                                                                                            },
                                                                                                                                            "children": [
                                                                                                                                                {
                                                                                                                                                    "method_instance": {
                                                                                                                                                        "method": "expand_debuginfo_mode(mode::Symbol, default) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:1197",
                                                                                                                                                        "method_instance": "MethodInstance for Base.Compiler.IRShow.expand_debuginfo_mode(::Symbol, ::Symbol)"
                                                                                                                                                    },
                                                                                                                                                    "children": [
                                                                                                                                                        {
                                                                                                                                                            "method_instance": {
                                                                                                                                                                "method": "expand_debuginfo_mode(mode::Symbol) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:1197",
                                                                                                                                                                "method_instance": "MethodInstance for Base.Compiler.IRShow.expand_debuginfo_mode(::Symbol)"
                                                                                                                                                            },
                                                                                                                                                            "children": [
                                                                                                                                                                {
                                                                                                                                                                    "method_instance": {
                                                                                                                                                                        "method": "get_debuginfo_printer(mode::Symbol) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:1205",
                                                                                                                                                                        "method_instance": "MethodInstance for Base.Compiler.IRShow.get_debuginfo_printer(::Symbol)"
                                                                                                                                                                    },
                                                                                                                                                                    "children": [
                                                                                                                                                                        {
                                                                                                                                                                            "method_instance": {
                                                                                                                                                                                "method": "get_debuginfo_printer(src, mode::Symbol) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:1210",
                                                                                                                                                                                "method_instance": "MethodInstance for Base.Compiler.IRShow.get_debuginfo_printer(::Compiler.IRCode, ::Symbol)"
                                                                                                                                                                            },
                                                                                                                                                                            "children": [
                                                                                                                                                                                {
                                                                                                                                                                                    "method_instance": {
                                                                                                                                                                                        "method": "var\"#default_config#26\"(debuginfo, ::typeof(Base.Compiler.IRShow.default_config), code::Compiler.IRCode) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:925",
                                                                                                                                                                                        "method_instance": "MethodInstance for Base.Compiler.IRShow.var\"#default_config#26\"(::Any, ::typeof(Base.Compiler.IRShow.default_config), ::Compiler.IRCode)"
                                                                                                                                                                                    },
                                                                                                                                                                                    "children": [
                                                                                                                                                                                        {
                                                                                                                                                                                            "method_instance": {
                                                                                                                                                                                                "method": "kwcall(::NamedTuple, ::typeof(Base.Compiler.IRShow.default_config), code::Compiler.IRCode) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:925",
                                                                                                                                                                                                "method_instance": "MethodInstance for Core.kwcall(::NamedTuple, ::typeof(Base.Compiler.IRShow.default_config), ::Compiler.IRCode)"
                                                                                                                                                                                            },
                                                                                                                                                                                            "children": [
                                                                                                                                                                                            ]
                                                                                                                                                                                        },
                                                                                                                                                                                        {
                                                                                                                                                                                            "method_instance": {
                                                                                                                                                                                                "method": "kwcall(::NamedTuple, ::typeof(Base.Compiler.IRShow.default_config), code::Compiler.IRCode) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:925",
                                                                                                                                                                                                "method_instance": "MethodInstance for Core.kwcall(::NamedTuple{(:debuginfo,), <:Tuple{Any}}, ::typeof(Base.Compiler.IRShow.default_config), ::Compiler.IRCode)"
                                                                                                                                                                                            },
                                                                                                                                                                                            "children": [
                                                                                                                                                                                                {
                                                                                                                                                                                                    "method_instance": {
                                                                                                                                                                                                        "method": "default_config(io::IO, src) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:929",
                                                                                                                                                                                                        "method_instance": "MethodInstance for Base.Compiler.IRShow.default_config(::IO, ::Any)"
                                                                                                                                                                                                    },
                                                                                                                                                                                                    "children": [
                                                                                                                                                                                                    ]
                                                                                                                                                                                                },
                                                                                                                                                                                                {
                                                                                                                                                                                                    "method_instance": {
                                                                                                                                                                                                        "method": "default_config(io::IO, src) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:929",
                                                                                                                                                                                                        "method_instance": "MethodInstance for Base.Compiler.IRShow.default_config(::IO, ::Compiler.IRCode)"
                                                                                                                                                                                                    },
                                                                                                                                                                                                    "children": [
                                                                                                                                                                                                        {
                                                                                                                                                                                                            "method_instance": {
                                                                                                                                                                                                                "method": "kwcall(::NamedTuple, ::typeof(Base.Compiler.IRShow.show_ir), io::IO, ir::Compiler.IRCode) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:953",
                                                                                                                                                                                                                "method_instance": "MethodInstance for Core.kwcall(::NamedTuple, ::typeof(Base.Compiler.IRShow.show_ir), ::IO, ::Compiler.IRCode)"
                                                                                                                                                                                                            },
                                                                                                                                                                                                            "children": [
                                                                                                                                                                                                            ]
                                                                                                                                                                                                        },
                                                                                                                                                                                                        {
                                                                                                                                                                                                            "method_instance": {
                                                                                                                                                                                                                "method": "show_ir(io::IO, compact::Compiler.IncrementalCompact) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:977",
                                                                                                                                                                                                                "method_instance": "MethodInstance for Base.Compiler.IRShow.show_ir(::IO, ::Compiler.IncrementalCompact)"
                                                                                                                                                                                                            },
                                                                                                                                                                                                            "children": [
                                                                                                                                                                                                            ]
                                                                                                                                                                                                        },
                                                                                                                                                                                                        {
                                                                                                                                                                                                            "method_instance": {
                                                                                                                                                                                                                "method": "show_ir(io::IO, ir::Compiler.IRCode; ...) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:953",
                                                                                                                                                                                                                "method_instance": "MethodInstance for Base.Compiler.IRShow.show_ir(::IO, ::Compiler.IRCode)"
                                                                                                                                                                                                            },
                                                                                                                                                                                                            "children": [
                                                                                                                                                                                                            ]
                                                                                                                                                                                                        }
                                                                                                                                                                                                    ]
                                                                                                                                                                                                }
                                                                                                                                                                                            ]
                                                                                                                                                                                        }
                                                                                                                                                                                    ]
                                                                                                                                                                                },
                                                                                                                                                                                {
                                                                                                                                                                                    "method_instance": {
                                                                                                                                                                                        "method": "var\"#default_config#26\"(debuginfo, ::typeof(Base.Compiler.IRShow.default_config), code::Compiler.IRCode) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:925",
                                                                                                                                                                                        "method_instance": "MethodInstance for Base.Compiler.IRShow.var\"#default_config#26\"(::Symbol, ::typeof(Base.Compiler.IRShow.default_config), ::Compiler.IRCode)"
                                                                                                                                                                                    },
                                                                                                                                                                                    "children": [
                                                                                                                                                                                        {
                                                                                                                                                                                            "method_instance": {
                                                                                                                                                                                                "method": "default_config(code::Compiler.IRCode; debuginfo) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:925",
                                                                                                                                                                                                "method_instance": "MethodInstance for Base.Compiler.IRShow.default_config(::Compiler.IRCode)"
                                                                                                                                                                                            },
                                                                                                                                                                                            "children": [
                                                                                                                                                                                                {
                                                                                                                                                                                                    "method_instance": {
                                                                                                                                                                                                        "method": "default_config(io::IO, src) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:929",
                                                                                                                                                                                                        "method_instance": "MethodInstance for Base.Compiler.IRShow.default_config(::IO, ::Any)"
                                                                                                                                                                                                    },
                                                                                                                                                                                                    "children": [
                                                                                                                                                                                                    ]
                                                                                                                                                                                                },
                                                                                                                                                                                                {
                                                                                                                                                                                                    "method_instance": {
                                                                                                                                                                                                        "method": "default_config(io::IO, src) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:929",
                                                                                                                                                                                                        "method_instance": "MethodInstance for Base.Compiler.IRShow.default_config(::IO, ::Compiler.IRCode)"
                                                                                                                                                                                                    },
                                                                                                                                                                                                    "children": [
                                                                                                                                                                                                    ]
                                                                                                                                                                                                }
                                                                                                                                                                                            ]
                                                                                                                                                                                        }
                                                                                                                                                                                    ]
                                                                                                                                                                                }
                                                                                                                                                                            ]
                                                                                                                                                                        },
                                                                                                                                                                        {
                                                                                                                                                                            "method_instance": {
                                                                                                                                                                                "method": "get_debuginfo_printer(src, mode::Symbol) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:1210",
                                                                                                                                                                                "method_instance": "MethodInstance for Base.Compiler.IRShow.get_debuginfo_printer(::Core.CodeInfo, ::Symbol)"
                                                                                                                                                                            },
                                                                                                                                                                            "children": [
                                                                                                                                                                                {
                                                                                                                                                                                    "method_instance": {
                                                                                                                                                                                        "method": "var\"#default_config#27\"(debuginfo, ::typeof(Base.Compiler.IRShow.default_config), code::Core.CodeInfo) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:928",
                                                                                                                                                                                        "method_instance": "MethodInstance for Base.Compiler.IRShow.var\"#default_config#27\"(::Any, ::typeof(Base.Compiler.IRShow.default_config), ::Core.CodeInfo)"
                                                                                                                                                                                    },
                                                                                                                                                                                    "children": [
                                                                                                                                                                                        {
                                                                                                                                                                                            "method_instance": {
                                                                                                                                                                                                "method": "kwcall(::NamedTuple, ::typeof(Base.Compiler.IRShow.default_config), code::Core.CodeInfo) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:928",
                                                                                                                                                                                                "method_instance": "MethodInstance for Core.kwcall(::NamedTuple, ::typeof(Base.Compiler.IRShow.default_config), ::Core.CodeInfo)"
                                                                                                                                                                                            },
                                                                                                                                                                                            "children": [
                                                                                                                                                                                            ]
                                                                                                                                                                                        },
                                                                                                                                                                                        {
                                                                                                                                                                                            "method_instance": {
                                                                                                                                                                                                "method": "kwcall(::NamedTuple, ::typeof(Base.Compiler.IRShow.default_config), code::Core.CodeInfo) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:928",
                                                                                                                                                                                                "method_instance": "MethodInstance for Core.kwcall(::NamedTuple{(:debuginfo,), <:Tuple{Any}}, ::typeof(Base.Compiler.IRShow.default_config), ::Core.CodeInfo)"
                                                                                                                                                                                            },
                                                                                                                                                                                            "children": [
                                                                                                                                                                                                {
                                                                                                                                                                                                    "method_instance": {
                                                                                                                                                                                                        "method": "default_config(io::IO, src) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:929",
                                                                                                                                                                                                        "method_instance": "MethodInstance for Base.Compiler.IRShow.default_config(::IO, ::Any)"
                                                                                                                                                                                                    },
                                                                                                                                                                                                    "children": [
                                                                                                                                                                                                        {
                                                                                                                                                                                                            "method_instance": {
                                                                                                                                                                                                                "method": "kwcall(::NamedTuple, ::typeof(Base.Compiler.IRShow.show_ir), io::IO, ci::Core.CodeInfo) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:963",
                                                                                                                                                                                                                "method_instance": "MethodInstance for Core.kwcall(::NamedTuple, ::typeof(Base.Compiler.IRShow.show_ir), ::IO, ::Core.CodeInfo)"
                                                                                                                                                                                                            },
                                                                                                                                                                                                            "children": [
                                                                                                                                                                                                            ]
                                                                                                                                                                                                        },
                                                                                                                                                                                                        {
                                                                                                                                                                                                            "method_instance": {
                                                                                                                                                                                                                "method": "kwcall(::NamedTuple, ::typeof(Base.Compiler.IRShow.show_ir), io::IO, ir::Compiler.IRCode) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:953",
                                                                                                                                                                                                                "method_instance": "MethodInstance for Core.kwcall(::NamedTuple, ::typeof(Base.Compiler.IRShow.show_ir), ::IO, ::Compiler.IRCode)"
                                                                                                                                                                                                            },
                                                                                                                                                                                                            "children": [
                                                                                                                                                                                                            ]
                                                                                                                                                                                                        },
                                                                                                                                                                                                        {
                                                                                                                                                                                                            "method_instance": {
                                                                                                                                                                                                                "method": "show_ir(io::IO, ci::Core.CodeInfo; ...) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:963",
                                                                                                                                                                                                                "method_instance": "MethodInstance for Base.Compiler.IRShow.show_ir(::IO, ::Core.CodeInfo)"
                                                                                                                                                                                                            },
                                                                                                                                                                                                            "children": [
                                                                                                                                                                                                            ]
                                                                                                                                                                                                        },
                                                                                                                                                                                                        {
                                                                                                                                                                                                            "method_instance": {
                                                                                                                                                                                                                "method": "show_ir(io::IO, compact::Compiler.IncrementalCompact) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:977",
                                                                                                                                                                                                                "method_instance": "MethodInstance for Base.Compiler.IRShow.show_ir(::IO, ::Compiler.IncrementalCompact)"
                                                                                                                                                                                                            },
                                                                                                                                                                                                            "children": [
                                                                                                                                                                                                                {
                                                                                                                                                                                                                    "method_instance": {
                                                                                                                                                                                                                        "method": "show(io::IO, code::Union{Compiler.IRCode, Compiler.IncrementalCompact}) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:360",
                                                                                                                                                                                                                        "method_instance": "MethodInstance for show(::IO, ::Union{Compiler.IRCode, Compiler.IncrementalCompact})"
                                                                                                                                                                                                                    },
                                                                                                                                                                                                                    "children": [
                                                                                                                                                                                                                    ]
                                                                                                                                                                                                                }
                                                                                                                                                                                                            ]
                                                                                                                                                                                                        },
                                                                                                                                                                                                        {
                                                                                                                                                                                                            "method_instance": {
                                                                                                                                                                                                                "method": "show_ir(io::IO, ir::Compiler.IRCode; ...) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:953",
                                                                                                                                                                                                                "method_instance": "MethodInstance for Base.Compiler.IRShow.show_ir(::IO, ::Compiler.IRCode)"
                                                                                                                                                                                                            },
                                                                                                                                                                                                            "children": [
                                                                                                                                                                                                                {
                                                                                                                                                                                                                    "method_instance": {
                                                                                                                                                                                                                        "method": "show(io::IO, code::Union{Compiler.IRCode, Compiler.IncrementalCompact}) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:360",
                                                                                                                                                                                                                        "method_instance": "MethodInstance for show(::IO, ::Union{Compiler.IRCode, Compiler.IncrementalCompact})"
                                                                                                                                                                                                                    },
                                                                                                                                                                                                                    "children": [
                                                                                                                                                                                                                    ]
                                                                                                                                                                                                                }
                                                                                                                                                                                                            ]
                                                                                                                                                                                                        }
                                                                                                                                                                                                    ]
                                                                                                                                                                                                },
                                                                                                                                                                                                {
                                                                                                                                                                                                    "method_instance": {
                                                                                                                                                                                                        "method": "default_config(io::IO, src) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:929",
                                                                                                                                                                                                        "method_instance": "MethodInstance for Base.Compiler.IRShow.default_config(::IO, ::Core.CodeInfo)"
                                                                                                                                                                                                    },
                                                                                                                                                                                                    "children": [
                                                                                                                                                                                                        {
                                                                                                                                                                                                            "method_instance": {
                                                                                                                                                                                                                "method": "kwcall(::NamedTuple, ::typeof(Base.Compiler.IRShow.show_ir), io::IO, ci::Core.CodeInfo) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:963",
                                                                                                                                                                                                                "method_instance": "MethodInstance for Core.kwcall(::NamedTuple, ::typeof(Base.Compiler.IRShow.show_ir), ::IO, ::Core.CodeInfo)"
                                                                                                                                                                                                            },
                                                                                                                                                                                                            "children": [
                                                                                                                                                                                                            ]
                                                                                                                                                                                                        },
                                                                                                                                                                                                        {
                                                                                                                                                                                                            "method_instance": {
                                                                                                                                                                                                                "method": "show_ir(io::IO, ci::Core.CodeInfo; ...) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:963",
                                                                                                                                                                                                                "method_instance": "MethodInstance for Base.Compiler.IRShow.show_ir(::IO, ::Core.CodeInfo)"
                                                                                                                                                                                                            },
                                                                                                                                                                                                            "children": [
                                                                                                                                                                                                            ]
                                                                                                                                                                                                        }
                                                                                                                                                                                                    ]
                                                                                                                                                                                                }
                                                                                                                                                                                            ]
                                                                                                                                                                                        }
                                                                                                                                                                                    ]
                                                                                                                                                                                },
                                                                                                                                                                                {
                                                                                                                                                                                    "method_instance": {
                                                                                                                                                                                        "method": "var\"#default_config#27\"(debuginfo, ::typeof(Base.Compiler.IRShow.default_config), code::Core.CodeInfo) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:928",
                                                                                                                                                                                        "method_instance": "MethodInstance for Base.Compiler.IRShow.var\"#default_config#27\"(::Symbol, ::typeof(Base.Compiler.IRShow.default_config), ::Core.CodeInfo)"
                                                                                                                                                                                    },
                                                                                                                                                                                    "children": [
                                                                                                                                                                                        {
                                                                                                                                                                                            "method_instance": {
                                                                                                                                                                                                "method": "default_config(code::Core.CodeInfo; debuginfo) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:928",
                                                                                                                                                                                                "method_instance": "MethodInstance for Base.Compiler.IRShow.default_config(::Core.CodeInfo)"
                                                                                                                                                                                            },
                                                                                                                                                                                            "children": [
                                                                                                                                                                                                {
                                                                                                                                                                                                    "method_instance": {
                                                                                                                                                                                                        "method": "default_config(io::IO, src) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:929",
                                                                                                                                                                                                        "method_instance": "MethodInstance for Base.Compiler.IRShow.default_config(::IO, ::Any)"
                                                                                                                                                                                                    },
                                                                                                                                                                                                    "children": [
                                                                                                                                                                                                    ]
                                                                                                                                                                                                },
                                                                                                                                                                                                {
                                                                                                                                                                                                    "method_instance": {
                                                                                                                                                                                                        "method": "default_config(io::IO, src) @ Base.Compiler.IRShow ../usr/share/julia/Compiler/src/ssair/show.jl:929",
                                                                                                                                                                                                        "method_instance": "MethodInstance for Base.Compiler.IRShow.default_config(::IO, ::Core.CodeInfo)"
                                                                                                                                                                                                    },
                                                                                                                                                                                                    "children": [
                                                                                                                                                                                                    ]
                                                                                                                                                                                                }
                                                                                                                                                                                            ]
                                                                                                                                                                                        }
                                                                                                                                                                                    ]
                                                                                                                                                                                }
                                                                                                                                                                            ]
                                                                                                                                                                        }
                                                                                                                                                                    ]
                                                                                                                                                                }
                                                                                                                                                            ]
                                                                                                                                                        }
                                                                                                                                                    ]
                                                                                                                                                }
                                                                                                                                            ]
                                                                                                                                        }
                                                                                                                                    ]
                                                                                                                                }
                                                                                                                            ]
                                                                                                                        },
                                                                                                                        {
                                                                                                                            "method_instance": {
                                                                                                                                "method": "collect(itr::Base.Generator) @ Base array.jl:796",
                                                                                                                                "method_instance": "MethodInstance for collect(::Base.Generator{Vector{Symbol}, Base.Compiler.IRShow.var\"#validate_debuginfo_mode##0#validate_debuginfo_mode##1\"})"
                                                                                                                            },
                                                                                                                            "children": [
                                                                                                                            ]
                                                                                                                        }
                                                                                                                    ]
                                                                                                                },
                                                                                                                {
                                                                                                                    "method_instance": {
                                                                                                                        "method": "iterate(g::Base.Generator, s...) @ Base generator.jl:43",
                                                                                                                        "method_instance": "MethodInstance for iterate(::Base.Generator{Vector{Symbol}, Base.Compiler.IRShow.var\"#validate_debuginfo_mode##0#validate_debuginfo_mode##1\"}, ::Int64)"
                                                                                                                    },
                                                                                                                    "children": [
                                                                                                                        {
                                                                                                                            "method_instance": {
                                                                                                                                "method": "_iterator_upper_bound(itr) @ Base array.jl:768",
                                                                                                                                "method_instance": "MethodInstance for Base._iterator_upper_bound(::Base.Generator{Vector{Symbol}, Base.Compiler.IRShow.var\"#validate_debuginfo_mode##0#validate_debuginfo_mode##1\"})"
                                                                                                                            },
                                                                                                                            "children": [
                                                                                                                            ]
                                                                                                                        },
                                                                                                                        {
                                                                                                                            "method_instance": {
                                                                                                                                "method": "collect_to!(dest::AbstractArray{T}, itr, offs, st) where T @ Base array.jl:856",
                                                                                                                                "method_instance": "MethodInstance for Base.collect_to!(::Vector{String}, ::Base.Generator{Vector{Symbol}, Base.Compiler.IRShow.var\"#validate_debuginfo_mode##0#validate_debuginfo_mode##1\"}, ::Int64, ::Int64)"
                                                                                                                            },
                                                                                                                            "children": [
                                                                                                                                {
                                                                                                                                    "method_instance": {
                                                                                                                                        "method": "collect_to_with_first!(dest::AbstractArray, v1, itr, st) @ Base array.jl:836",
                                                                                                                                        "method_instance": "MethodInstance for Base.collect_to_with_first!(::Vector{String}, ::String, ::Base.Generator{Vector{Symbol}, Base.Compiler.IRShow.var\"#validate_debuginfo_mode##0#validate_debuginfo_mode##1\"}, ::Int64)"
                                                                                                                                    },
                                                                                                                                    "children": [
                                                                                                                                        {
                                                                                                                                            "method_instance": {
                                                                                                                                                "method": "collect(itr::Base.Generator) @ Base array.jl:796",
                                                                                                                                                "method_instance": "MethodInstance for collect(::Base.Generator{Vector{Symbol}, Base.Compiler.IRShow.var\"#validate_debuginfo_mode##0#validate_debuginfo_mode##1\"})"
                                                                                                                                            },
                                                                                                                                            "children": [
                                                                                                                                            ]
                                                                                                                                        }
                                                                                                                                    ]
                                                                                                                                }
                                                                                                                            ]
                                                                                                                        }
                                                                                                                    ]
                                                                                                                }
                                                                                                            ]
                                                                                                        }
                                                                                                    ]
                                                                                                }
                                                                                            ]
                                                                                        }
                                                                                    ]
                                                                                }
                                                                            ]
                                                                        }
                                                                    ]
                                                                }
                                                            ]
                                                        }
                                                    ]
                                                }
                                            ]
                                        },
                                        {
                                            "method_instance": {
                                                "method": "show_block(io::IO, head, args::Vector, body, indent::Int64, quote_level::Int64) @ Base show.jl:1625",
                                                "method_instance": "MethodInstance for Base.show_block(::IOContext{IOBuffer}, ::Symbol, ::Vector, ::Expr, ::Int64, ::Int64)"
                                            },
                                            "children": [
                                                {
                                                    "method_instance": {
                                                        "method": "show_unquoted(io::IO, ex::Expr, indent::Int64, prec::Int64, quote_level::Int64) @ Base show.jl:1898",
                                                        "method_instance": "MethodInstance for Base.show_unquoted(::IOBuffer, ::Expr, ::Int64, ::Int64, ::Int64)"
                                                    },
                                                    "children": [
                                                    ]
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        }
                    ]
                },
                {
                    "method_instance": {
                        "method": "show_list(io::IO, items, sep, indent::Int64, prec::Int64, quote_level::Int64, enclose_operators::Bool, kw::Bool) @ Base show.jl:1654",
                        "method_instance": "MethodInstance for Base.show_list(::IOContext{IOBuffer}, ::Array, ::String, ::Int64, ::Int64, ::Int64, ::Bool, ::Bool)"
                    },
                    "children": [
                    ]
                }
            ]
        }
    ]
}

The above invalidations happen on master when doing this, for example:

struct I <: Integer end
function Base.one(::I) end

@nsajko nsajko added the needs tests Unit tests are required for this change label Aug 28, 2025
Three methods of `length` are deleted.

Made possible by moving the following methods to earlier within the
bootstrapping:

* `size(a::Array)`

* `length(t::AbstractArray)`

Improves abstract return type inference of `f(x::Array) = length(a)`
because the method count is now low enough for the world-splitting
optimization to kick in.
@nsajko nsajko force-pushed the Base_eliminate_Array_specific_methods_of_length branch from 69810cc to e021706 Compare August 28, 2025 09:57
@nsajko nsajko added invalidations and removed needs tests Unit tests are required for this change labels Aug 28, 2025
@nsajko nsajko added the merge me PR is reviewed. Merge when all tests are passing label Aug 28, 2025
@nsajko
Copy link
Copy Markdown
Member Author

nsajko commented Aug 29, 2025

merge?

@adienes adienes merged commit 3396562 into JuliaLang:master Aug 29, 2025
9 of 10 checks passed
@adienes adienes removed the merge me PR is reviewed. Merge when all tests are passing label Aug 29, 2025
@oscardssmith
Copy link
Copy Markdown
Member

this is a very nice simplification. we probably could continue the rework a bit more to get some further simplification.

@nsajko nsajko deleted the Base_eliminate_Array_specific_methods_of_length branch August 29, 2025 20:14
@nsajko
Copy link
Copy Markdown
Member Author

nsajko commented Aug 30, 2025

we probably could continue the rework a bit more to get some further simplification.

PR:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

arrays [a, r, r, a, y, s] invalidations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants