Skip to content

Instantly share code, notes, and snippets.

@timo
Created August 11, 2013 18:15
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save timo/4991927cc4308937ffaa to your computer and use it in GitHub Desktop.
the resulting QAST and error message caused by turning $alen and $blen into a local in this tree.
- QAST::Block {\n my $res := ($a.WHAT === $b.WHAT ?? $a !! Bu...
- QAST::Stmts
- QAST::Var(lexical $a :decl(var))
- QAST::Var(lexical $b :decl(var))
- QAST::Var(lexical $_ :decl(contvar))
- QAST::Var(lexical $/ :decl(contvar))
- QAST::Var(lexical $! :decl(contvar))
- QAST::Var(lexical $res :decl(contvar))
- QAST::Var(lexical $adc :decl(contvar))
- QAST::Var(lexical $bdc :decl(contvar))
- QAST::Var(local $alen :decl(var))
- QAST::Op(bind)
- QAST::Var(local $alen)
- QAST::IVal(0)
- QAST::Var(local $blen :decl(var))
- QAST::Op(bind)
- QAST::Var(local $blen)
- QAST::IVal(0)
- QAST::Var(lexical $s :decl(var))
- QAST::Op(bind)
- QAST::Var(lexical $s)
- QAST::IVal(0)
- QAST::Var(lexical $d :decl(var))
- QAST::Op(bind)
- QAST::Var(lexical $d)
- QAST::IVal(0)
- QAST::Stmts
- QAST::Stmts
- QAST::Op(p6bindsig)
- QAST::Var(lexical $*DISPATCHER :decl(static))
- QAST::Op(takedispatcher)
- QAST::SVal($*DISPATCHER)
- QAST::Var(lexical &?ROUTINE :decl(static))
- QAST::Block {\n nqp::bindpos_i($res, $d, nqp::atpos_i($...
- QAST::Op(die_s)
- QAST::SVal(INTERNAL ERROR: Execution of block eliminated by optimizer)
- QAST::Var(local pres_topic_37 :decl(var))
- QAST::Block {\n nqp::bindpos_i($res, $d, nqp::atpos_i($...
- QAST::Op(die_s)
- QAST::SVal(INTERNAL ERROR: Execution of block eliminated by optimizer)
- QAST::Var(local pres_topic_38 :decl(var))
- QAST::Op(p6typecheckrv)
- QAST::Stmts(:resultchild(0)))
- QAST::Op(lexotic RETURN)
- QAST::Op(p6decontrv)
- QAST::WVal(Sub)
- QAST::Stmts \n my $res := ($a.WHAT === $b.WHAT ?? $a !! Buf...
- QAST::Stmt
- QAST::Op(bind)
- QAST::Var(lexical $res) $res
- QAST::Op(p6bindassert)
- QAST::Op(hllize)
- QAST::Op(callmethod new) new
- QAST::Stmts $a.WHAT === $b.WHAT ?? $a !! Buf
- QAST::Op(if &infix:<>) ?? $a !!
- QAST::Op(chain &infix:<===>) ===
- QAST::Op(what) WHAT
- QAST::Var(lexical $a) $a
- QAST::Op(what) WHAT
- QAST::Var(lexical $b) $b
- QAST::Var(lexical $a) $a
- QAST::WVal(Buf) Buf
- QAST::WVal(Mu)
- QAST::Stmt
- QAST::Op(bind)
- QAST::Var(lexical $adc) $adc
- QAST::Op(p6bindassert)
- QAST::Op(decont)
- QAST::Var(lexical $a) $a
- QAST::WVal(Mu)
- QAST::Stmt
- QAST::Op(bind)
- QAST::Var(lexical $bdc) $bdc
- QAST::Op(p6bindassert)
- QAST::Op(decont)
- QAST::Var(lexical $b) $b
- QAST::WVal(Mu)
- QAST::Stmt
- QAST::Op(bind)
- QAST::Var(local $alen) $alen
- QAST::Op(elems)
- QAST::Var(lexical $adc) $adc
- QAST::Stmt
- QAST::Op(bind)
- QAST::Var(local $blen) $blen
- QAST::Op(elems)
- QAST::Var(lexical $bdc) $bdc
- QAST::Stmt
- QAST::Op(setelems)
- QAST::Var(lexical $res) $res
- QAST::Stmts +
- QAST::Op(bind)
- QAST::Var(local _inline_arg_24 :decl(var))
- QAST::Var(local $alen) $alen
- QAST::Op(bind)
- QAST::Var(local _inline_arg_25 :decl(var))
- QAST::Var(local $blen) $blen
- QAST::Op(p6typecheckrv)
- QAST::Stmts
- QAST::Stmt
- QAST::Op(add_i)
- QAST::Var(local _inline_arg_24)
- QAST::Var(local _inline_arg_25)
- QAST::WVal(Sub)
- QAST::Stmt
- QAST::Op(bind)
- QAST::Var(lexical $s) $s
- QAST::Want 0
- QAST::WVal(Int)
- Ii
- QAST::IVal(0)
- QAST::Stmt
- QAST::Op(bind)
- QAST::Var(lexical $d) $d
- QAST::Want 0
- QAST::WVal(Int)
- Ii
- QAST::IVal(0)
- QAST::Stmt
- QAST::Want
- QAST::Op(while) $s < $alen {\n nqp::bindpos_i($res, $d, nqp...
- QAST::Op(chain &infix:<<>) <
- QAST::Var(lexical $s) $s
- QAST::Var(local $alen) $alen
- QAST::Stmts(:resultchild(1)))
- QAST::Op(bind)
- QAST::Var(local pres_topic_37)
- QAST::Var(lexical $_)
- QAST::Stmts \n nqp::bindpos_i($res, $d, nqp::atpos_i($a...
- QAST::Stmt
- QAST::Op(bindpos_i)
- QAST::Var(lexical $res) $res
- QAST::Var(lexical $d) $d
- QAST::Op(atpos_i)
- QAST::Var(lexical $adc) $adc
- QAST::Var(lexical $s) $s
- QAST::Stmt
- QAST::Op(bind)
- QAST::Var(lexical $s) $s
- QAST::Stmts +
- QAST::Op(bind)
- QAST::Var(local _inline_arg_26 :decl(var))
- QAST::Var(lexical $s) $s
- QAST::Op(bind)
- QAST::Var(local _inline_arg_27 :decl(var))
- QAST::Want 1
- QAST::WVal(Int)
- Ii
- QAST::IVal(1)
- QAST::Op(p6typecheckrv)
- QAST::Stmts
- QAST::Stmt
- QAST::Op(add_i)
- QAST::Var(local _inline_arg_26)
- QAST::Var(local _inline_arg_27)
- QAST::WVal(Sub)
- QAST::Stmt
- QAST::Op(bind)
- QAST::Var(lexical $d) $d
- QAST::Stmts +
- QAST::Op(bind)
- QAST::Var(local _inline_arg_28 :decl(var))
- QAST::Var(lexical $d) $d
- QAST::Op(bind)
- QAST::Var(local _inline_arg_29 :decl(var))
- QAST::Want 1
- QAST::WVal(Int)
- Ii
- QAST::IVal(1)
- QAST::Op(p6typecheckrv)
- QAST::Stmts
- QAST::Stmt
- QAST::Op(add_i)
- QAST::Var(local _inline_arg_28)
- QAST::Var(local _inline_arg_29)
- QAST::WVal(Sub)
- QAST::Var(lexical Nil)
- QAST::Op(bind)
- QAST::Var(lexical $_)
- QAST::Var(local pres_topic_37)
- v
- QAST::Op(locallifetime)
- QAST::Stmts
- QAST::Op(bind)
- QAST::Var(local sink_1220 :decl(var))
- QAST::Op(while) $s < $alen {\n nqp::bindpos_i($res, $d, nqp...
- QAST::Op(chain &infix:<<>) <
- QAST::Var(lexical $s) $s
- QAST::Var(local $alen) $alen
- QAST::Stmts(:resultchild(1)))
- QAST::Op(bind)
- QAST::Var(local pres_topic_37)
- QAST::Var(lexical $_)
- QAST::Stmts \n nqp::bindpos_i($res, $d, nqp::atpos_i($a...
- QAST::Stmt
- QAST::Op(bindpos_i)
- QAST::Var(lexical $res) $res
- QAST::Var(lexical $d) $d
- QAST::Op(atpos_i)
- QAST::Var(lexical $adc) $adc
- QAST::Var(lexical $s) $s
- QAST::Stmt
- QAST::Op(bind)
- QAST::Var(lexical $s) $s
- QAST::Stmts +
- QAST::Op(bind)
- QAST::Var(local _inline_arg_26 :decl(var))
- QAST::Var(lexical $s) $s
- QAST::Op(bind)
- QAST::Var(local _inline_arg_27 :decl(var))
- QAST::Want 1
- QAST::WVal(Int)
- Ii
- QAST::IVal(1)
- QAST::Op(p6typecheckrv)
- QAST::Stmts
- QAST::Stmt
- QAST::Op(add_i)
- QAST::Var(local _inline_arg_26)
- QAST::Var(local _inline_arg_27)
- QAST::WVal(Sub)
- QAST::Stmt
- QAST::Op(bind)
- QAST::Var(lexical $d) $d
- QAST::Stmts +
- QAST::Op(bind)
- QAST::Var(local _inline_arg_28 :decl(var))
- QAST::Var(lexical $d) $d
- QAST::Op(bind)
- QAST::Var(local _inline_arg_29 :decl(var))
- QAST::Want 1
- QAST::WVal(Int)
- Ii
- QAST::IVal(1)
- QAST::Op(p6typecheckrv)
- QAST::Stmts
- QAST::Stmt
- QAST::Op(add_i)
- QAST::Var(local _inline_arg_28)
- QAST::Var(local _inline_arg_29)
- QAST::WVal(Sub)
- QAST::Var(lexical Nil)
- QAST::Op(bind)
- QAST::Var(lexical $_)
- QAST::Var(local pres_topic_37)
- QAST::Op(if)
- QAST::Op(if)
- QAST::Op(isconcrete)
- QAST::Var(local sink_1220)
- QAST::Op(can)
- QAST::Var(local sink_1220)
- QAST::SVal(sink)
- QAST::Op(callmethod sink)
- QAST::Var(local sink_1220)
- sink_1220
- QAST::Stmt
- QAST::Op(bind)
- QAST::Var(lexical $s) $s
- QAST::Want 0
- QAST::WVal(Int)
- Ii
- QAST::IVal(0)
- QAST::Stmt
- QAST::Want
- QAST::Op(while) $s < $blen {\n nqp::bindpos_i($res, $d, nqp...
- QAST::Op(chain &infix:<<>) <
- QAST::Var(lexical $s) $s
- QAST::Var(local $blen) $blen
- QAST::Stmts(:resultchild(1)))
- QAST::Op(bind)
- QAST::Var(local pres_topic_38)
- QAST::Var(lexical $_)
- QAST::Stmts \n nqp::bindpos_i($res, $d, nqp::atpos_i($b...
- QAST::Stmt
- QAST::Op(bindpos_i)
- QAST::Var(lexical $res) $res
- QAST::Var(lexical $d) $d
- QAST::Op(atpos_i)
- QAST::Var(lexical $bdc) $bdc
- QAST::Var(lexical $s) $s
- QAST::Stmt
- QAST::Op(bind)
- QAST::Var(lexical $s) $s
- QAST::Stmts +
- QAST::Op(bind)
- QAST::Var(local _inline_arg_30 :decl(var))
- QAST::Var(lexical $s) $s
- QAST::Op(bind)
- QAST::Var(local _inline_arg_31 :decl(var))
- QAST::Want 1
- QAST::WVal(Int)
- Ii
- QAST::IVal(1)
- QAST::Op(p6typecheckrv)
- QAST::Stmts
- QAST::Stmt
- QAST::Op(add_i)
- QAST::Var(local _inline_arg_30)
- QAST::Var(local _inline_arg_31)
- QAST::WVal(Sub)
- QAST::Stmt
- QAST::Op(bind)
- QAST::Var(lexical $d) $d
- QAST::Stmts +
- QAST::Op(bind)
- QAST::Var(local _inline_arg_32 :decl(var))
- QAST::Var(lexical $d) $d
- QAST::Op(bind)
- QAST::Var(local _inline_arg_33 :decl(var))
- QAST::Want 1
- QAST::WVal(Int)
- Ii
- QAST::IVal(1)
- QAST::Op(p6typecheckrv)
- QAST::Stmts
- QAST::Stmt
- QAST::Op(add_i)
- QAST::Var(local _inline_arg_32)
- QAST::Var(local _inline_arg_33)
- QAST::WVal(Sub)
- QAST::Var(lexical Nil)
- QAST::Op(bind)
- QAST::Var(lexical $_)
- QAST::Var(local pres_topic_38)
- v
- QAST::Op(locallifetime)
- QAST::Stmts
- QAST::Op(bind)
- QAST::Var(local sink_1221 :decl(var))
- QAST::Op(while) $s < $blen {\n nqp::bindpos_i($res, $d, nqp...
- QAST::Op(chain &infix:<<>) <
- QAST::Var(lexical $s) $s
- QAST::Var(local $blen) $blen
- QAST::Stmts(:resultchild(1)))
- QAST::Op(bind)
- QAST::Var(local pres_topic_38)
- QAST::Var(lexical $_)
- QAST::Stmts \n nqp::bindpos_i($res, $d, nqp::atpos_i($b...
- QAST::Stmt
- QAST::Op(bindpos_i)
- QAST::Var(lexical $res) $res
- QAST::Var(lexical $d) $d
- QAST::Op(atpos_i)
- QAST::Var(lexical $bdc) $bdc
- QAST::Var(lexical $s) $s
- QAST::Stmt
- QAST::Op(bind)
- QAST::Var(lexical $s) $s
- QAST::Stmts +
- QAST::Op(bind)
- QAST::Var(local _inline_arg_30 :decl(var))
- QAST::Var(lexical $s) $s
- QAST::Op(bind)
- QAST::Var(local _inline_arg_31 :decl(var))
- QAST::Want 1
- QAST::WVal(Int)
- Ii
- QAST::IVal(1)
- QAST::Op(p6typecheckrv)
- QAST::Stmts
- QAST::Stmt
- QAST::Op(add_i)
- QAST::Var(local _inline_arg_30)
- QAST::Var(local _inline_arg_31)
- QAST::WVal(Sub)
- QAST::Stmt
- QAST::Op(bind)
- QAST::Var(lexical $d) $d
- QAST::Stmts +
- QAST::Op(bind)
- QAST::Var(local _inline_arg_32 :decl(var))
- QAST::Var(lexical $d) $d
- QAST::Op(bind)
- QAST::Var(local _inline_arg_33 :decl(var))
- QAST::Want 1
- QAST::WVal(Int)
- Ii
- QAST::IVal(1)
- QAST::Op(p6typecheckrv)
- QAST::Stmts
- QAST::Stmt
- QAST::Op(add_i)
- QAST::Var(local _inline_arg_32)
- QAST::Var(local _inline_arg_33)
- QAST::WVal(Sub)
- QAST::Var(lexical Nil)
- QAST::Op(bind)
- QAST::Var(lexical $_)
- QAST::Var(local pres_topic_38)
- QAST::Op(if)
- QAST::Op(if)
- QAST::Op(isconcrete)
- QAST::Var(local sink_1221)
- QAST::Op(can)
- QAST::Var(local sink_1221)
- QAST::SVal(sink)
- QAST::Op(callmethod sink)
- QAST::Var(local sink_1221)
- sink_1221
- QAST::Stmt
- QAST::Var(lexical $res) $res
- QAST::Op(bind)
- QAST::Var(lexical RETURN)
- QAST::Var(lexical &EXHAUST)
- QAST::WVal(Sub)
Error while compiling block (source text: "# This file automatically generated by tools/build/gen-cat.pl\n\n# From src/core/core_prologue.pm\n\..."):
Error while compiling op call:
Error while compiling block :
Error while compiling block infix:<~> (source text: "{\n my $res := ($a.WHAT === $b.WHAT ?? $a !! Buf).new;\n my $adc := nqp::decont($a);\n my $..."):
Error while compiling op p6typecheckrv:
Error while compiling op lexotic:
Error while compiling op p6decontrv:
Error while compiling op setelems:
Error while compiling op bind:
Coercion from 'a' to 'i' NYI
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment