Created
February 26, 2019 05:31
-
-
Save quinnj/c7a9e23c5c15abb6e6180dbdb4175e00 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
julia> code_typed(DataFrame, (typeof(m),); debuginfo=:source) | |
1-element Array{Any,1}: | |
CodeInfo( | |
1 ─── goto #3 if not false | |
2 ─── nothing::Nothing | |
3 ┄── %3 = π (false, Const(false, false)) | |
└──── goto #5 if not %3 | |
4 ─── nothing::Nothing | |
5 ┄── %6 = (DataFrames.applicable)(DataFrames.iterate, x)::Bool | |
└──── goto #61 if not %6 | |
6 ─── %8 = %new(DataFrames.:(##326#328))::Const(##326#328(), false) | |
│ %9 = (Base.getfield)(x, :source)::EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}} | |
│ %10 = (Base.getfield)(%9, :source)::DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}} | |
│ %11 = (Base.getfield)(%10, :x)::RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}} | |
│ %12 = (Base.getfield)(%11, :len)::Int64 | |
│ %13 = (Base.slt_int)(%12, 1)::Bool | |
└──── goto #8 if not %13 | |
7 ─── goto #9 | |
8 ─── %16 = (Base.getfield)(%11, :columns)::NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}} | |
└──── goto #9 | |
9 ┄── %18 = φ (#7 => true, #8 => false)::Bool | |
│ %19 = φ (#8 => %16)::NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}} | |
│ %20 = φ (#8 => 1)::Int64 | |
│ %21 = φ (#8 => %16)::NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}} | |
│ %22 = φ (#8 => 1)::Int64 | |
│ %23 = φ (#8 => %16)::NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}} | |
│ %24 = φ (#8 => 1)::Int64 | |
└──── goto #10 | |
10 ── goto #12 if not %18 | |
11 ── goto #13 | |
12 ── %28 = (getfield)(%19, :a)::Array{Float64,1} | |
│ %29 = (Base.arrayref)(true, %28, %20)::Float64 | |
│ %30 = (getfield)(%21, :b)::Array{Float64,1} | |
│ %31 = (Base.arrayref)(true, %30, %22)::Float64 | |
│ %32 = (getfield)(%23, :c)::Array{Float64,1} | |
│ %33 = (Base.arrayref)(true, %32, %24)::Float64 | |
│ %34 = %new(NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}}, %29, %31, %33)::NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}} | |
└──── goto #13 | |
13 ┄─ %36 = φ (#11 => true, #12 => false)::Bool | |
│ %37 = φ (#12 => %34)::NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}} | |
└──── goto #14 | |
14 ── goto #15 | |
15 ── goto #17 if not %36 | |
16 ── goto #18 | |
17 ── goto #18 | |
18 ┄─ %43 = φ (#16 => true, #17 => false)::Bool | |
│ %44 = φ (#17 => %37)::NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}} | |
│ %45 = (Base.not_int)(%43)::Bool | |
└──── goto #20 if not %45 | |
19 ── invoke %8(%44::NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}})::Bool | |
└──── goto #21 | |
20 ── goto #21 | |
21 ┄─ %50 = φ (#19 => false, #20 => true)::Bool | |
└──── goto #22 | |
22 ── goto #61 if not %50 | |
23 ── goto #37 if not true | |
24 ┄─ %54 = φ (#23 => (Base.IsInfinite(), 2), #36 => %80)::Union{Nothing, Tuple{Union{IsInfinite, SizeUnknown},Int64}} | |
│ %55 = π (%54, Union{Tuple{IsInfinite,Int64}, Tuple{SizeUnknown,Int64}}) | |
│ %56 = (Core.getfield)(%55, 1)::Union{IsInfinite, SizeUnknown} | |
│ %57 = (Core.getfield)(%55, 2)::Int64 | |
│ %58 = (isa)(%56, IsInfinite)::Bool | |
└──── goto #26 if not %58 | |
25 ── goto #29 | |
26 ── %61 = (isa)(%56, SizeUnknown)::Bool | |
└──── goto #28 if not %61 | |
27 ── goto #29 | |
28 ── (Core.throw)(ErrorException("fatal error in type inference (type bound)"))::Union{} | |
└──── $(Expr(:unreachable))::Union{} | |
29 ┄─ %66 = (Base.sle_int)(1, %57)::Bool | |
└──── goto #31 if not %66 | |
30 ── %68 = (Base.sle_int)(%57, 2)::Bool | |
└──── goto #32 | |
31 ── nothing::Nothing | |
32 ┄─ %71 = φ (#30 => %68, #31 => false)::Bool | |
└──── goto #34 if not %71 | |
33 ── %73 = (Base.getfield)((IsInfinite(), SizeUnknown()), %57, false)::Union{IsInfinite, SizeUnknown} | |
│ %74 = (Base.add_int)(%57, 1)::Int64 | |
│ %75 = (Core.tuple)(%73, %74)::Tuple{Union{IsInfinite, SizeUnknown},Int64} | |
└──── goto #35 | |
34 ── %77 = Base.nothing::Nothing | |
└──── goto #35 | |
35 ┄─ %79 = φ (#33 => false, #34 => true)::Bool | |
│ %80 = φ (#33 => %75, #34 => %77)::Union{Nothing, Tuple{Union{IsInfinite, SizeUnknown},Int64}} | |
│ %81 = (Base.not_int)(%79)::Bool | |
└──── goto #37 if not %81 | |
36 ── goto #24 | |
37 ┄─ goto #38 | |
38 ── goto #39 | |
39 ── goto #40 | |
40 ── goto #42 if not false | |
41 ── nothing::Nothing | |
42 ┄─ goto #44 if not false | |
43 ── nothing::Nothing | |
44 ┄─ %91 = (Base.getfield)(x, :source)::EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}} | |
│ %92 = (Base.getfield)(%91, :source)::DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}} | |
│ %93 = (Base.getfield)(%92, :x)::RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}} | |
│ %94 = (Base.getfield)(%93, :len)::Int64 | |
│ %95 = $(Expr(:foreigncall, :(:jl_alloc_array_1d), Array{AbstractArray{T,1} where T,1}, svec(Any, Int64), :(:ccall), 2, Array{AbstractArray{T,1} where T,1}, :(%94), :(%94)))::Array{AbstractArray{T,1} where T,1} | |
│ (Base.arraysize)(%95, 1)::Int64 | |
│ %97 = (Base.getfield)(x, :source)::EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}} | |
│ %98 = (Base.getfield)(%97, :source)::DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}} | |
│ %99 = (Base.getfield)(%98, :x)::RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}} | |
│ %100 = (Base.getfield)(%99, :len)::Int64 | |
│ %101 = (Base.slt_int)(%100, 1)::Bool | |
└──── goto #46 if not %101 | |
45 ── goto #47 | |
46 ── %104 = (Base.getfield)(%99, :columns)::NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}} | |
└──── goto #47 | |
47 ┄─ %106 = φ (#45 => true, #46 => false)::Bool | |
│ %107 = φ (#46 => %104)::NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}} | |
│ %108 = φ (#46 => 1)::Int64 | |
│ %109 = φ (#46 => %104)::NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}} | |
│ %110 = φ (#46 => 1)::Int64 | |
│ %111 = φ (#46 => %104)::NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}} | |
│ %112 = φ (#46 => 1)::Int64 | |
└──── goto #48 | |
48 ── goto #50 if not %106 | |
49 ── goto #51 | |
50 ── %116 = (getfield)(%107, :a)::Array{Float64,1} | |
│ (Base.arrayref)(true, %116, %108)::Float64 | |
│ %118 = (getfield)(%109, :b)::Array{Float64,1} | |
│ (Base.arrayref)(true, %118, %110)::Float64 | |
│ %120 = (getfield)(%111, :c)::Array{Float64,1} | |
│ %121 = (Base.arrayref)(true, %120, %112)::Float64 | |
└──── goto #51 | |
51 ┄─ %123 = φ (#49 => true, #50 => false)::Bool | |
│ %124 = φ (#50 => %121)::Float64 | |
└──── goto #52 | |
52 ── goto #53 | |
53 ── goto #55 if not %123 | |
54 ── goto #56 | |
55 ── goto #56 | |
56 ┄─ %130 = φ (#54 => true, #55 => false)::Bool | |
│ %131 = φ (#55 => %124)::Float64 | |
│ %132 = (Base.not_int)(%130)::Bool | |
└──── goto #60 if not %132 | |
57 ── goto #59 if not false | |
58 ── nothing::Nothing | |
59 ┄─ invoke Base.setindex!(%95::Array{AbstractArray{T,1} where T,1}, %131::Float64, 1::Int64)::Union{} | |
└──── $(Expr(:unreachable))::Union{} | |
60 ┄─ %138 = %new(Generator{EnumerableMap{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}},##4#6},typeof(first)}, first, x)::Generator{EnumerableMap{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}},##4#6},typeof(first)} | |
│ %139 = invoke Base.collect(%138::Base.Generator{QueryOperators.EnumerableMap{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},QueryOperators.EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},Tables.DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},Tables.RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}},getfield(Main, Symbol("##4#6"))},typeof(first)})::Array{Float64,1} | |
│ (DataFrames.DataFrame)(%95, %139)::Union{} | |
└──── $(Expr(:unreachable))::Union{} | |
61 ┄─ %142 = (Core.tuple)(Base.Tuple, typeof(iterate))::Tuple{DataType,DataType} | |
│ %143 = (Base.getfield)(Tuple{EnumerableMap{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}},##4#6}}, :parameters)::SimpleVector | |
│ (Core._apply)(Core.apply_type, %142, %143)::Type{Tuple{typeof(iterate),EnumerableMap{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}},##4#6}}} | |
│ %145 = (Base.getfield)(typeof(iterate), :name)::TypeName | |
│ %146 = (Base.getfield)(%145, :mt)::Any | |
│ %147 = $(Expr(:foreigncall, :(:jl_method_exists), Int32, svec(Any, Any, UInt64), :(:ccall), 3, :(%146), Tuple{typeof(iterate),EnumerableMap{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}},##4#6}}, 0xffffffffffffffff, 0xffffffffffffffff))::Int32 | |
│ %148 = (Core.sext_int)(Core.Int64, %147)::Int64 | |
│ %149 = (%148 === 0)::Bool | |
│ %150 = (Base.not_int)(%149)::Bool | |
└──── goto #63 if not %150 | |
62 ── (NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}} <: TableTraits.NamedTuple)::Bool | |
└──── goto #64 | |
63 ── goto #64 | |
64 ┄─ %155 = φ (#62 => true, #63 => false)::Bool | |
└──── goto #66 if not %155 | |
65 ── goto #67 | |
66 ── %158 = (Core.tuple)(Base.Tuple, typeof(iterate))::Tuple{DataType,DataType} | |
│ %159 = (Base.getfield)(Tuple{EnumerableMap{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}},##4#6}}, :parameters)::SimpleVector | |
│ (Core._apply)(Core.apply_type, %158, %159)::Type{Tuple{typeof(iterate),EnumerableMap{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}},##4#6}}} | |
│ %161 = (Base.getfield)(typeof(iterate), :name)::TypeName | |
│ %162 = (Base.getfield)(%161, :mt)::Any | |
│ %163 = $(Expr(:foreigncall, :(:jl_method_exists), Int32, svec(Any, Any, UInt64), :(:ccall), 3, :(%162), Tuple{typeof(iterate),EnumerableMap{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}},##4#6}}, 0xffffffffffffffff, 0xffffffffffffffff))::Int32 | |
│ %164 = (Core.sext_int)(Core.Int64, %163)::Int64 | |
│ %165 = (%164 === 0)::Bool | |
│ %166 = (Base.not_int)(%165)::Bool | |
└──── goto #67 | |
67 ┄─ %168 = φ (#65 => %155, #66 => %166)::Bool | |
└──── goto #144 if not %168 | |
68 ── %170 = (Core.tuple)(Base.Tuple, typeof(iterate))::Tuple{DataType,DataType} | |
│ %171 = (Base.getfield)(Tuple{EnumerableMap{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}},##4#6}}, :parameters)::SimpleVector | |
│ (Core._apply)(Core.apply_type, %170, %171)::Type{Tuple{typeof(iterate),EnumerableMap{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}},##4#6}}} | |
│ %173 = (Base.getfield)(typeof(iterate), :name)::TypeName | |
│ %174 = (Base.getfield)(%173, :mt)::Any | |
│ %175 = $(Expr(:foreigncall, :(:jl_method_exists), Int32, svec(Any, Any, UInt64), :(:ccall), 3, :(%174), Tuple{typeof(iterate),EnumerableMap{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}},##4#6}}, 0xffffffffffffffff, 0xffffffffffffffff))::Int32 | |
│ %176 = (Core.sext_int)(Core.Int64, %175)::Int64 | |
│ %177 = (%176 === 0)::Bool | |
│ %178 = (Base.not_int)(%177)::Bool | |
└──── goto #70 if not %178 | |
69 ── (NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}} <: TableTraits.NamedTuple)::Bool | |
└──── goto #71 | |
70 ── goto #71 | |
71 ┄─ %183 = φ (#69 => true, #70 => false)::Bool | |
└──── goto #73 if not %183 | |
72 ── goto #74 | |
73 ── %186 = (Core.tuple)(Base.Tuple, typeof(iterate))::Tuple{DataType,DataType} | |
│ %187 = (Base.getfield)(Tuple{EnumerableMap{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}},##4#6}}, :parameters)::SimpleVector | |
│ (Core._apply)(Core.apply_type, %186, %187)::Type{Tuple{typeof(iterate),EnumerableMap{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}},##4#6}}} | |
│ %189 = (Base.getfield)(typeof(iterate), :name)::TypeName | |
│ %190 = (Base.getfield)(%189, :mt)::Any | |
│ %191 = $(Expr(:foreigncall, :(:jl_method_exists), Int32, svec(Any, Any, UInt64), :(:ccall), 3, :(%190), Tuple{typeof(iterate),EnumerableMap{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}},##4#6}}, 0xffffffffffffffff, 0xffffffffffffffff))::Int32 | |
│ %192 = (Core.sext_int)(Core.Int64, %191)::Int64 | |
│ %193 = (%192 === 0)::Bool | |
│ %194 = (Base.not_int)(%193)::Bool | |
└──── goto #74 | |
74 ┄─ %196 = φ (#72 => %183, #73 => %194)::Bool | |
└──── goto #142 if not %196 | |
75 ── %198 = (Core.tuple)(Base.Tuple, typeof(iterate))::Tuple{DataType,DataType} | |
│ %199 = (Base.getfield)(Tuple{EnumerableMap{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}},##4#6}}, :parameters)::SimpleVector | |
│ (Core._apply)(Core.apply_type, %198, %199)::Type{Tuple{typeof(iterate),EnumerableMap{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}},##4#6}}} | |
│ %201 = (Base.getfield)(typeof(iterate), :name)::TypeName | |
│ %202 = (Base.getfield)(%201, :mt)::Any | |
│ %203 = $(Expr(:foreigncall, :(:jl_method_exists), Int32, svec(Any, Any, UInt64), :(:ccall), 3, :(%202), Tuple{typeof(iterate),EnumerableMap{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}},##4#6}}, 0xffffffffffffffff, 0xffffffffffffffff))::Int32 | |
│ %204 = (Core.sext_int)(Core.Int64, %203)::Int64 | |
│ %205 = (%204 === 0)::Bool | |
│ %206 = (Base.not_int)(%205)::Bool | |
│ %207 = (Base.not_int)(%206)::Bool | |
└──── goto #77 if not %207 | |
76 ── invoke IteratorInterfaceExtensions.error("Can't get iterator for non iterable source."::String)::Union{} | |
└──── $(Expr(:unreachable))::Union{} | |
77 ┄─ goto #78 | |
78 ── (NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}} <: Tables.NamedTuple)::Bool | |
└──── goto #92 if not true | |
79 ┄─ %214 = φ (#78 => (Base.IsInfinite(), 2), #91 => %240)::Union{Nothing, Tuple{Union{IsInfinite, SizeUnknown},Int64}} | |
│ %215 = π (%214, Union{Tuple{IsInfinite,Int64}, Tuple{SizeUnknown,Int64}}) | |
│ %216 = (Core.getfield)(%215, 1)::Union{IsInfinite, SizeUnknown} | |
│ %217 = (Core.getfield)(%215, 2)::Int64 | |
│ %218 = (isa)(%216, IsInfinite)::Bool | |
└──── goto #81 if not %218 | |
80 ── goto #84 | |
81 ── %221 = (isa)(%216, SizeUnknown)::Bool | |
└──── goto #83 if not %221 | |
82 ── goto #84 | |
83 ── (Core.throw)(ErrorException("fatal error in type inference (type bound)"))::Union{} | |
└──── $(Expr(:unreachable))::Union{} | |
84 ┄─ %226 = (Base.sle_int)(1, %217)::Bool | |
└──── goto #86 if not %226 | |
85 ── %228 = (Base.sle_int)(%217, 2)::Bool | |
└──── goto #87 | |
86 ── nothing::Nothing | |
87 ┄─ %231 = φ (#85 => %228, #86 => false)::Bool | |
└──── goto #89 if not %231 | |
88 ── %233 = (Base.getfield)((IsInfinite(), SizeUnknown()), %217, false)::Union{IsInfinite, SizeUnknown} | |
│ %234 = (Base.add_int)(%217, 1)::Int64 | |
│ %235 = (Core.tuple)(%233, %234)::Tuple{Union{IsInfinite, SizeUnknown},Int64} | |
└──── goto #90 | |
89 ── %237 = Base.nothing::Nothing | |
└──── goto #90 | |
90 ┄─ %239 = φ (#88 => false, #89 => true)::Bool | |
│ %240 = φ (#88 => %235, #89 => %237)::Union{Nothing, Tuple{Union{IsInfinite, SizeUnknown},Int64}} | |
│ %241 = (Base.not_int)(%239)::Bool | |
└──── goto #92 if not %241 | |
91 ── goto #79 | |
92 ┄─ goto #93 | |
93 ── goto #94 | |
94 ── goto #95 | |
95 ── %247 = (Base.getfield)(x, :source)::EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}} | |
│ %248 = (Base.getfield)(%247, :source)::DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}} | |
│ %249 = (Base.getfield)(%248, :x)::RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}} | |
│ %250 = (Base.getfield)(%249, :len)::Int64 | |
│ %251 = $(Expr(:foreigncall, :(:jl_alloc_array_1d), Array{Float64,1}, svec(Any, Int64), :(:ccall), 2, Array{Float64,1}, :(%250), :(%250)))::Array{Float64,1} | |
│ %252 = $(Expr(:foreigncall, :(:jl_alloc_array_1d), Array{Float64,1}, svec(Any, Int64), :(:ccall), 2, Array{Float64,1}, :(%250), :(%250)))::Array{Float64,1} | |
│ %253 = $(Expr(:foreigncall, :(:jl_alloc_array_1d), Array{Float64,1}, svec(Any, Int64), :(:ccall), 2, Array{Float64,1}, :(%250), :(%250)))::Array{Float64,1} | |
│ %254 = %new(NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}, %251, %252, %253)::NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}} | |
│ %255 = (Base.getfield)(x, :source)::EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}} | |
│ %256 = (Base.getfield)(%255, :source)::DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}} | |
│ %257 = (Base.getfield)(%256, :x)::RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}} | |
│ %258 = (Base.getfield)(%257, :len)::Int64 | |
│ %259 = (Base.slt_int)(%258, 1)::Bool | |
└──── goto #97 if not %259 | |
96 ── goto #98 | |
97 ── %262 = (Base.getfield)(%257, :columns)::NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}} | |
└──── goto #98 | |
98 ┄─ %264 = φ (#96 => true, #97 => false)::Bool | |
│ %265 = φ (#97 => 2)::Int64 | |
│ %266 = φ (#97 => %262)::NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}} | |
│ %267 = φ (#97 => 1)::Int64 | |
│ %268 = φ (#97 => %262)::NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}} | |
│ %269 = φ (#97 => 1)::Int64 | |
│ %270 = φ (#97 => %262)::NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}} | |
│ %271 = φ (#97 => 1)::Int64 | |
└──── goto #99 | |
99 ── goto #101 if not %264 | |
100 ─ goto #102 | |
101 ─ %275 = (getfield)(%266, :a)::Array{Float64,1} | |
│ %276 = (Base.arrayref)(true, %275, %267)::Float64 | |
│ %277 = (getfield)(%268, :b)::Array{Float64,1} | |
│ %278 = (Base.arrayref)(true, %277, %269)::Float64 | |
│ %279 = (getfield)(%270, :c)::Array{Float64,1} | |
│ %280 = (Base.arrayref)(true, %279, %271)::Float64 | |
│ %281 = %new(NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}}, %276, %278, %280)::NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}} | |
└──── goto #102 | |
102 ┄ %283 = φ (#100 => true, #101 => false)::Bool | |
│ %284 = φ (#101 => %281)::NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}} | |
│ %285 = φ (#101 => %265)::Int64 | |
└──── goto #103 | |
103 ─ goto #104 | |
104 ─ goto #106 if not %283 | |
105 ─ goto #107 | |
106 ─ goto #107 | |
107 ┄ %291 = φ (#105 => true, #106 => false)::Bool | |
│ %292 = φ (#106 => %284)::NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}} | |
│ %293 = φ (#106 => %285)::Int64 | |
└──── goto #109 if not %291 | |
108 ─ goto #110 | |
109 ─ invoke Base.fieldcount(NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}}::Any)::Any | |
│ %297 = (Base.getfield)(NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}}, :parameters)::SimpleVector | |
│ invoke Base.getindex(%297::Core.SimpleVector, 1::Int64)::Tuple{Symbol,Symbol,Symbol} | |
│ %299 = (Base.getfield)(NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}}, :parameters)::SimpleVector | |
│ invoke Base.getindex(%299::Core.SimpleVector, 1::Int64)::Tuple{Symbol,Symbol,Symbol} | |
└──── goto #110 | |
110 ┄ %302 = φ (#108 => true, #109 => false)::Bool | |
│ %303 = φ (#109 => %292)::NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}} | |
│ %304 = φ (#109 => %293)::Int64 | |
│ %305 = φ (#108 => true)::Bool | |
└──── goto #112 if not %302 | |
111 ─ goto #113 | |
112 ─ goto #113 | |
113 ┄ %309 = φ (#111 => %305, #112 => false)::Bool | |
│ %310 = φ (#112 => 1)::Int64 | |
│ %311 = φ (#112 => %303)::NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}} | |
│ %312 = φ (#112 => 2)::Int64 | |
│ %313 = φ (#112 => %304)::Int64 | |
└──── goto #114 | |
114 ─ %315 = (Base.not_int)(%309)::Bool | |
└──── goto #140 if not %315 | |
115 ┄ %317 = φ (#114 => %310, #139 => %391)::Int64 | |
│ %318 = φ (#114 => %311, #139 => %392)::NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}} | |
│ %319 = φ (#114 => %312, #139 => %393)::Int64 | |
│ %320 = φ (#114 => %313, #139 => %394)::Int64 | |
└──── goto #121 if not true | |
116 ┄ %322 = φ (#115 => 0, #120 => %335)::Int64 | |
│ %323 = φ (#115 => 0, #120 => %336)::Int64 | |
│ %324 = (Base.add_int)(1, %322)::Int64 | |
│ %325 = (Base.getfield)((:a, :b, :c), %324, false)::Symbol | |
│ %326 = (getfield)(%318, %325)::Float64 | |
│ %327 = (Base.add_int)(1, %322)::Int64 | |
│ %328 = (Base.getfield)(%254, %327)::Array{Float64,1} | |
│ (Base.arrayset)(true, %328, %326, %317)::Array{Float64,1} | |
│ %330 = (%323 === 2)::Bool | |
└──── goto #118 if not %330 | |
117 ─ goto #119 | |
118 ─ %333 = (Base.add_int)(%323, 1)::Int64 | |
└──── goto #119 | |
119 ┄ %335 = φ (#118 => %333)::Int64 | |
│ %336 = φ (#118 => %333)::Int64 | |
│ %337 = φ (#117 => true, #118 => false)::Bool | |
│ %338 = (Base.not_int)(%337)::Bool | |
└──── goto #121 if not %338 | |
120 ─ goto #116 | |
121 ┄ goto #122 | |
122 ─ %342 = (Base.getfield)(x, :source)::EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}} | |
│ %343 = (Base.getfield)(%342, :source)::DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}} | |
│ %344 = (Base.getfield)(%343, :x)::RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}} | |
│ %345 = (Base.getfield)(%344, :len)::Int64 | |
│ %346 = (Base.slt_int)(%345, %320)::Bool | |
└──── goto #124 if not %346 | |
123 ─ goto #125 | |
124 ─ %349 = (Base.getfield)(%344, :columns)::NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}} | |
│ %350 = (Base.add_int)(%320, 1)::Int64 | |
└──── goto #125 | |
125 ┄ %352 = φ (#123 => true, #124 => false)::Bool | |
│ %353 = φ (#124 => %350)::Int64 | |
│ %354 = φ (#124 => %349)::NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}} | |
│ %355 = φ (#124 => %320)::Int64 | |
│ %356 = φ (#124 => %349)::NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}} | |
│ %357 = φ (#124 => %320)::Int64 | |
│ %358 = φ (#124 => %349)::NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}} | |
│ %359 = φ (#124 => %320)::Int64 | |
└──── goto #127 if not %352 | |
126 ─ goto #128 | |
127 ─ %362 = (getfield)(%354, :a)::Array{Float64,1} | |
│ %363 = (Base.arrayref)(true, %362, %355)::Float64 | |
│ %364 = (getfield)(%356, :b)::Array{Float64,1} | |
│ %365 = (Base.arrayref)(true, %364, %357)::Float64 | |
│ %366 = (getfield)(%358, :c)::Array{Float64,1} | |
│ %367 = (Base.arrayref)(true, %366, %359)::Float64 | |
│ %368 = %new(NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}}, %363, %365, %367)::NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}} | |
└──── goto #128 | |
128 ┄ %370 = φ (#126 => true, #127 => false)::Bool | |
│ %371 = φ (#127 => %368)::NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}} | |
│ %372 = φ (#127 => %353)::Int64 | |
└──── goto #129 | |
129 ─ goto #131 if not %370 | |
130 ─ goto #132 | |
131 ─ goto #132 | |
132 ┄ %377 = φ (#130 => true, #131 => false)::Bool | |
│ %378 = φ (#131 => %371)::NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}} | |
│ %379 = φ (#131 => %372)::Int64 | |
└──── goto #134 if not %377 | |
133 ─ goto #135 | |
134 ─ goto #135 | |
135 ┄ %383 = φ (#133 => true, #134 => false)::Bool | |
│ %384 = φ (#134 => %378)::NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}} | |
│ %385 = φ (#134 => %379)::Int64 | |
│ %386 = φ (#133 => true)::Bool | |
└──── goto #137 if not %383 | |
136 ─ goto #138 | |
137 ─ %389 = (Base.add_int)(%319, 1)::Int64 | |
└──── goto #138 | |
138 ┄ %391 = φ (#137 => %319)::Int64 | |
│ %392 = φ (#137 => %384)::NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}} | |
│ %393 = φ (#137 => %389)::Int64 | |
│ %394 = φ (#137 => %385)::Int64 | |
│ %395 = φ (#136 => %386, #137 => false)::Bool | |
│ %396 = (Base.not_int)(%395)::Bool | |
└──── goto #140 if not %396 | |
139 ─ goto #115 | |
140 ┄ goto #141 | |
141 ─ goto #143 | |
142 ─ %401 = invoke Base.print_to_string("no default `Tables.columns` implementation for type: "::String, QueryOperators.EnumerableMap{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},QueryOperators.EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},Tables.DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},Tables.RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}},getfield(Main, Symbol("##4#6"))}::Vararg{Any,N} where N)::String | |
│ %402 = %new(Core.ArgumentError, %401)::ArgumentError | |
│ (Tables.throw)(%402)::Union{} | |
└──── $(Expr(:unreachable))::Union{} | |
143 ┄ %405 = invoke DataFrames.fromcolumns(%254::NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}})::DataFrame | |
└──── return %405 | |
144 ─ %407 = invoke Base.print_to_string("unable to construct DataFrame from "::String, QueryOperators.EnumerableMap{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},QueryOperators.EnumerableIterable{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},Tables.DataValueRowIterator{NamedTuple{(:a, :b, :c),Tuple{Float64,Float64,Float64}},Tables.RowIterator{NamedTuple{(:a, :b, :c),Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}}}}}},getfield(Main, Symbol("##4#6"))}::Vararg{Any,N} where N)::String | |
│ %408 = %new(Core.ArgumentError, %407)::ArgumentError | |
│ (DataFrames.throw)(%408)::Union{} | |
└──── $(Expr(:unreachable))::Union{} | |
) => DataFrame | |
julia> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment