Comments (1)
the bad logic in builtin_tfunction
has been fixed in 4c60b4c , and now we have:
jυλια> begin
using TypeProfiler
@time interp, frame = TypeProfiler.profile_call_gf(methods(TypeProfiler.profile_text).ms[3].sig)
TypeProfiler.print_reports(stdout, interp.reports)
end
[ Info: Precompiling TypeProfiler [c3a54625-cd67-489e-a8e7-0a5a0ff4e31b]
38.180798 seconds (129.74 M allocations: 7.993 GiB, 9.05% gc time, 20.57% compilation time)
═════ 6 possible errors found ═════
┌ @ /Users/aviatesk/grad-thesis/TypeProfiler.jl/src/TypeProfiler.jl:145 TypeProfiler.#profile_text#108(TypeProfiler.nothing, true, Base.pairs(Core.NamedTuple()), #self#, io, text, filename, mod)
│┌ @ /Users/aviatesk/grad-thesis/TypeProfiler.jl/src/TypeProfiler.jl:145 Core.kwfunc(TypeProfiler.report_errors)(Core.apply_type(Core.NamedTuple, (:filter_native_remarks,))(Core.tuple(filter_native_remarks)), TypeProfiler.report_errors, profiling_logger, mod, text, filename)
││┌ @ /Users/aviatesk/grad-thesis/TypeProfiler.jl/src/TypeProfiler.jl:155 TypeProfiler.#report_errors#110(Core.tuple(kwargs..., _3, _4), args...)
│││┌ @ /Users/aviatesk/grad-thesis/TypeProfiler.jl/src/TypeProfiler.jl:155 Core.kwfunc(TypeProfiler.report_errors)(Core.tuple(Base.merge(Base.NamedTuple(), kwargs), TypeProfiler.report_errors), args...)
││││┌ @ /Users/aviatesk/grad-thesis/TypeProfiler.jl/src/TypeProfiler.jl:171 TypeProfiler.#report_errors#112(filter_native_remarks, _3, actualmod, text, filename)
│││││┌ @ /Users/aviatesk/grad-thesis/TypeProfiler.jl/src/TypeProfiler.jl:174 TypeProfiler.virtual_process!(text, filename, virtualmod, TypeProfiler.Symbol(actualmod), interp)
││││││┌ @ /Users/aviatesk/grad-thesis/TypeProfiler.jl/src/virtualprocess.jl:90 #self#(s, filename, virtualmod, actualmodsym, interp, TypeProfiler.gen_virtual_process_result())
│││││││┌ @ /Users/aviatesk/grad-thesis/TypeProfiler.jl/src/virtualprocess.jl:96 TypeProfiler.collect_syntax_errors(s, filename)
││││││││┌ @ /Users/aviatesk/grad-thesis/TypeProfiler.jl/src/virtualprocess.jl:526 TypeProfiler.push!(reports, report)
│││││││││┌ @ array.jl:934 Base.convert(_, item)
││││││││││ no matching method found for call signature: Base.convert(_::Type{TypeProfiler.SyntaxErrorReport}, item::Nothing)
│││││││││└────────────────
│││││││┌ @ /Users/aviatesk/grad-thesis/TypeProfiler.jl/src/virtualprocess.jl:103 TypeProfiler.virtual_process!(toplevelex, filename, virtualmod, actualmodsym, interp, ret)
││││││││┌ @ /Users/aviatesk/grad-thesis/TypeProfiler.jl/src/virtualprocess.jl:187 eval_with_err_handling(virtualmod, x)
│││││││││┌ @ /Users/aviatesk/grad-thesis/TypeProfiler.jl/src/virtualprocess.jl:152 TypeProfiler.with_err_handling(#76, Core.getfield(#self#, :eval_err_handler))
││││││││││┌ @ /Users/aviatesk/grad-thesis/TypeProfiler.jl/src/virtualprocess.jl:498 err_handler(err, st)
│││││││││││┌ @ /Users/aviatesk/grad-thesis/TypeProfiler.jl/src/virtualprocess.jl:148 TypeProfiler.crop_stacktrace(st, 3)
││││││││││││┌ @ /Users/aviatesk/grad-thesis/TypeProfiler.jl/src/virtualprocess.jl:510 TypeProfiler.crop_stacktrace(#88, st, offset)
│││││││││││││┌ @ /Users/aviatesk/grad-thesis/TypeProfiler.jl/src/virtualprocess.jl:504 TypeProfiler.-(i, offset)
││││││││││││││ for one of the union split cases, no matching method found for signature: TypeProfiler.-(i::Union{Nothing, Int64}, offset::Int64)
│││││││││││││└─────────────────────────────────────────────────────────────────────────
││││││││┌ @ /Users/aviatesk/grad-thesis/TypeProfiler.jl/src/virtualprocess.jl:191 TypeProfiler.virtual_process!(newtoplevelex, filename, newvirtualmod, actualmodsym, interp, ret)
│││││││││┌ @ /Users/aviatesk/grad-thesis/TypeProfiler.jl/src/virtualprocess.jl:231 TypeProfiler.profile_toplevel!(interp, virtualmod, src)
││││││││││┌ @ /Users/aviatesk/grad-thesis/TypeProfiler.jl/src/TypeProfiler.jl:217 TypeProfiler.profile_frame!(interp, frame)
│││││││││││┌ @ /Users/aviatesk/grad-thesis/TypeProfiler.jl/src/abstractinterpretation.jl:528 TypeProfiler.typeinf(interp, frame)
││││││││││││┌ @ /Users/aviatesk/grad-thesis/TypeProfiler.jl/src/abstractinterpretation.jl:468 TypeProfiler.invoke(TypeProfiler.typeinf, Core.apply_type(TypeProfiler.Tuple, TypeProfiler.AbstractInterpreter, TypeProfiler.InferenceState), interp, frame)
│││││││││││││┌ @ compiler/typeinfer.jl:12 Core.Compiler.typeinf_nocycle(interp, frame)
││││││││││││││┌ @ compiler/abstractinterpretation.jl:1442 Core.Compiler.typeinf_local(interp, frame)
│││││││││││││││┌ @ compiler/abstractinterpretation.jl:1371 Core.Compiler.abstract_eval_statement(interp, Core.Compiler.getindex(Core.Compiler.getproperty(stmt, :args), 2), changes, frame)
││││││││││││││││┌ @ /Users/aviatesk/grad-thesis/TypeProfiler.jl/src/abstractinterpretation.jl:348 TypeProfiler.invoke(TypeProfiler.abstract_eval_statement, Core.apply_type(TypeProfiler.Tuple, TypeProfiler.AbstractInterpreter, Any, TypeProfiler.VarTable, TypeProfiler.InferenceState), interp, e, vtypes, sv)
│││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1132 Core.Compiler.abstract_call(interp, ea, argtypes, sv)
││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1010 #self#(interp, fargs, argtypes, sv, Core.Compiler.getproperty(Core.Compiler.InferenceParams(interp), :MAX_METHODS))
│││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:1026 Core.Compiler.abstract_call_known(interp, f, fargs, argtypes, sv, max_methods)
││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:917 Core.Compiler.abstract_apply(interp, Core.Compiler.nothing, ft, Core.Compiler.argtype_tail(argtypes, 3), sv, max_methods)
│││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:665 Core.Compiler.precise_container_type(interp, itft, ti, sv)
││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:562 Core.Compiler.abstract_iteration(interp, itft, typ, sv)
│││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:580 Core.Compiler.abstract_call_known(interp, iteratef, Core.Compiler.nothing, Core.Compiler.getindex(Core.Compiler.Any, itft, itertype), sv)
││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:911 #self#(interp, f, fargs, argtypes, sv, Core.Compiler.getproperty(Core.Compiler.InferenceParams(interp), :MAX_METHODS))
│││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:961 Core.Compiler.abstract_call_gf_by_type(interp, f, Core.Compiler.getindex(Core.Compiler.Any, Core.Compiler.Const(f), Core.Compiler.Bool), Core.apply_type(Core.Compiler.Tuple, Core.Compiler.typeof(f), Core.Compiler.Bool), sv)
││││││││││││││││││││││││││┌ @ /Users/aviatesk/grad-thesis/TypeProfiler.jl/src/abstractinterpretation.jl:86 #self#(interp, f, argtypes, atype, sv, Core.Compiler.getproperty(Core.Compiler.InferenceParams(interp), :MAX_METHODS))
│││││││││││││││││││││││││││┌ @ /Users/aviatesk/grad-thesis/TypeProfiler.jl/src/abstractinterpretation.jl:215 Core.Compiler.abstract_call_method(interp, method, sig, Core.Compiler.getproperty(match, :sparams), multiple_matches, sv)
││││││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:415 Core.Compiler.max(spec_len, l_comparison)
│││││││││││││││││││││││││││││┌ @ operators.jl:419 Core.Compiler.isless(y, x)
││││││││││││││││││││││││││││││┌ @ operators.jl:169 Core.Compiler.isnan(x)
│││││││││││││││││││││││││││││││ variable Core.Compiler.isnan is not defined: Core.Compiler.isnan(x::AbstractFloat)
││││││││││││││││││││││││││││││└────────────────────
││││││││││││││││││││││││││││┌ @ compiler/abstractinterpretation.jl:466 Core.Compiler.typeinf_edge(interp, method, sig, sparams, sv)
│││││││││││││││││││││││││││││┌ @ compiler/typeinfer.jl:526 Core.Compiler.resolve_call_cycle!(interp, mi, caller)
││││││││││││││││││││││││││││││┌ @ compiler/typeinfer.jl:484 Core.Compiler.merge_call_chain!(parent, frame, frame, limited)
│││││││││││││││││││││││││││││││┌ @ compiler/typeinfer.jl:445 Core.Compiler.add_cycle_backedge!(child, parent, Core.Compiler.getproperty(parent, :currpc))
││││││││││││││││││││││││││││││││ for one of the union split cases, no matching method found for signature: Core.Compiler.add_cycle_backedge!(child::Core.Compiler.InferenceState, parent::Union{Nothing, Core.Compiler.InferenceState}, Core.Compiler.getproperty(parent::Union{Nothing, Core.Compiler.InferenceState}, :currpc::Symbol)::Int64)
│││││││││││││││││││││││││││││││└─────────────────────────────
│││││││││││││││││││││││││││││││┌ @ compiler/typeinfer.jl:445 Core.Compiler.add_cycle_backedge!(child, parent, Core.Compiler.getproperty(parent, :currpc))
││││││││││││││││││││││││││││││││ for one of the union split cases, no matching method found for signature: Core.Compiler.add_cycle_backedge!(child::Union{Nothing, Core.Compiler.InferenceState}, parent::Union{Nothing, Core.Compiler.InferenceState}, Core.Compiler.getproperty(parent::Union{Nothing, Core.Compiler.InferenceState}, :currpc::Symbol)::Int64)
│││││││││││││││││││││││││││││││└─────────────────────────────
│││││││││││││││││││││││││││││││┌ @ compiler/typeinfer.jl:446 Core.Compiler.union_caller_cycle!(ancestor, child)
││││││││││││││││││││││││││││││││ for one of the union split cases, no matching method found for signature: Core.Compiler.union_caller_cycle!(ancestor::Core.Compiler.InferenceState, child::Union{Nothing, Core.Compiler.InferenceState})
│││││││││││││││││││││││││││││││└─────────────────────────────
true
from jet.jl.
Related Issues (20)
- false positive: no matching method found HOT 7
- false positives with Base.@kwdef HOT 1
- Define `@test_package` in addition to `report_package`
- Optional analyzer keyword argument gone HOT 2
- JET errors on interface definitions (as it should) - what to do?
- │ ArgumentError: Module JuliaFormatter does not correspond to a loaded package! HOT 2
- JET breaks SnoopCompile
- Add Error Analysis for OptimizationFailureReport
- Add a hook to analyze calls that appear at runtime HOT 1
- False positive for indexing Union{Tuple{},Vector{T}} HOT 2
- Ergonomics: descending into errors HOT 3
- List of Base reports HOT 1
- Line numbers do not Revise HOT 2
- Support JET annotations in source code HOT 4
- False positive: accessing variables from other, possibly undefined modules HOT 1
- Branches that restrict a type HOT 14
- Support "import Module as" syntax HOT 1
- Possible false positive with sort! HOT 4
- Support package extensions HOT 3
- main_uuid not defined HOT 10
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jet.jl.