Created
February 26, 2019 05:31
-
-
Save quinnj/c7a9e23c5c15abb6e6180dbdb4175e00 to your computer and use it in GitHub Desktop.
This file contains hidden or 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