-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
simplify code location queries #240
Conversation
Especially, we really don't need to pass on `analyzer::AbstractAnalyzer` to correctly check if a frame is top-level module or not, because JET analyzes top-level thunk only from `virtual_process`. And it vastly simplifies the accompanying code locations queries.
Test failures are due to JuliaLang/julia#41885. Will be addressed later. julia> @report_call println(QuoteNode(nothing))
═════ 1 possible error found ═════
┌ @ coreio.jl:4 Base.println(Core.tuple(Core.typeassert(Base.stdout, Base.IO)), xs...)
│┌ @ strings/io.jl:73 Base.print(Core.tuple(io), xs, Core.tuple("\n")...)
││┌ @ strings/io.jl:46 Base.print(io, x)
│││┌ @ show.jl:1283 Base.show_unquoted(Base.IOContext(io, Base.=>(:unquote_fallback, false)), ex, 0, -1)
││││┌ @ show.jl:1636 Base.show_unquoted_quote_expr(io, Base.getproperty(ex, :value), indent, prec, 0)
│││││┌ @ show.jl:1662 Base.show_block(Base.IOContext(io, Base.=>(Base.beginsym, false)), "quote", value, indent, quote_level)
││││││┌ @ show.jl:1505 Base.show_block(io, head, Base.vect(), block, i, quote_level)
│││││││┌ @ show.jl:1501 Base.show_unquoted(io, ex, ind, -1, quote_level)
││││││││┌ @ show.jl:1960 Base.minimum(Base.operator_precedence, Base.getindex(args, Base.:(2, 2, Base.lastindex(args))))
│││││││││┌ @ reducedim.jl:890 Base.#minimum#751(Base.:, Base.pairs(Core.NamedTuple()), #self#, f, a)
││││││││││┌ @ reducedim.jl:890 Base._minimum(f, a, dims)
│││││││││││┌ @ reducedim.jl:894 Base.#_minimum#753(Base.pairs(Core.NamedTuple()), #self#, f, a, _4)
││││││││││││┌ @ reducedim.jl:894 Base.mapreduce(f, Base.min, a)
│││││││││││││┌ @ reducedim.jl:322 Base.#mapreduce#731(Base.:, Base._InitialValue(), #self#, f, op, A)
││││││││││││││┌ @ reducedim.jl:322 Base._mapreduce_dim(f, op, init, A, dims)
│││││││││││││││┌ @ reducedim.jl:330 Base._mapreduce(f, op, Base.IndexStyle(A), A)
││││││││││││││││┌ @ reduce.jl:414 Base.mapreduce_empty_iter(f, op, A, Base.IteratorEltype(A))
│││││││││││││││││┌ @ reduce.jl:362 Base.reduce_empty_iter(Base.MappingRF(f, op), itr, ItrEltype)
││││││││││││││││││┌ @ reduce.jl:366 Base.reduce_empty(op, Base.eltype(itr))
│││││││││││││││││││┌ @ reduce.jl:343 Base.mapreduce_empty(Base.getproperty(op, :f), Base.getproperty(op, :rf), _)
││││││││││││││││││││ no matching method found for call signature (Tuple{typeof(Base.mapreduce_empty), typeof(Base.operator_precedence), typeof(min), Type{Any}}): Base.mapreduce_empty(Base.getproperty(op::Base.MappingRF{typeof(Base.operator_precedence), typeof(min)}, :f::Symbol)::typeof(Base.operator_precedence), Base.getproperty(op::Base.MappingRF{typeof(Base.operator_precedence), typeof(min)}, :rf::Symbol)::typeof(min), _::Type{Any})
│││││││││││││││││││└───────────────── |
JET Benchmark ResultJudge resultBenchmark Report for /home/runner/work/JET.jl/JET.jlJob Properties
ResultsA ratio greater than
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoTarget
Baseline
Target resultBenchmark Report for /home/runner/work/JET.jl/JET.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Baseline resultBenchmark Report for /home/runner/work/JET.jl/JET.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Runtime information
Architecture: x86_64
JET Benchmark ResultJudge resultBenchmark Report for /home/runner/work/JET.jl/JET.jlJob Properties
ResultsA ratio greater than
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoTarget
Baseline
Target resultBenchmark Report for /home/runner/work/JET.jl/JET.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Baseline resultBenchmark Report for /home/runner/work/JET.jl/JET.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Runtime information
Architecture: x86_64
JET Benchmark ResultJudge resultBenchmark Report for /home/runner/work/JET.jl/JET.jlJob Properties
ResultsA ratio greater than
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfoTarget
Baseline
Target resultBenchmark Report for /home/runner/work/JET.jl/JET.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Baseline resultBenchmark Report for /home/runner/work/JET.jl/JET.jlJob Properties
ResultsBelow is a table of this job's results, obtained by running the benchmarks.
Benchmark Group ListHere's a list of all the benchmark groups executed by this job:
Julia versioninfo
Runtime information
Architecture: x86_64
|
Especially, we really don't need to pass on
analyzer::AbstractAnalyzer
around to correctly check if a frame is top-level module or not, because
JET analyzes top-level thunk only from
virtual_process
.And it vastly simplifies the accompanying code locations queries.