Skip to content

Instantly share code, notes, and snippets.

@Whateverable
Created January 29, 2019 18:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Whateverable/620c516773c1f73422a16257502fd678 to your computer and use it in GitHub Desktop.
Save Whateverable/620c516773c1f73422a16257502fd678 to your computer and use it in GitHub Desktop.
committable6
2018.12 run 'perl6', '--target=optimize', '-e', 'loop { $_ = 42; when 42 { my $a = 10 } }'
¦«2018.12»:
- QAST::CompUnit :W<?> :UNIT<?>
[pre_deserialize]
- QAST::Stmt
- QAST::Stmt
- QAST::Op(loadbytecode)
- QAST::VM
[moar]
- QAST::SVal(ModuleLoader.moarvm)
[jvm]
- QAST::SVal(ModuleLoader.class)
[js]
- QAST::SVal(ModuleLoader)
- QAST::Op(callmethod load_module)
- QAST::Op(gethllsym)
- QAST::SVal(nqp)
- QAST::SVal(ModuleLoader)
- QAST::SVal(Perl6::ModuleLoader)
- QAST::Op(forceouterctx)
- QAST::BVal(4)
- QAST::Op(callmethod load_setting)
- QAST::Op(getcurhllsym)
- QAST::SVal(ModuleLoader)
- QAST::SVal(CORE)
- QAST::Stmt
- QAST::Stmt
- QAST::Op(loadbytecode)
- QAST::VM
[moar]
- QAST::SVal(ModuleLoader.moarvm)
[jvm]
- QAST::SVal(ModuleLoader.class)
[js]
- QAST::SVal(ModuleLoader)
- QAST::Op(callmethod load_module)
- QAST::Op(gethllsym)
- QAST::SVal(nqp)
- QAST::SVal(ModuleLoader)
- QAST::SVal(Perl6::ModuleLoader)
- QAST::Op(forceouterctx)
- QAST::BVal(4)
- QAST::Op(callmethod load_setting)
- QAST::Op(getcurhllsym)
- QAST::SVal(ModuleLoader)
- QAST::SVal(CORE.d)
[post_deserialize]
- QAST::Stmts
- QAST::Op(bind)
- QAST::Var(attribute $!do)
- QAST::WVal(Block)
- QAST::WVal(Code)
- QAST::BVal(1)
- QAST::Stmts
- QAST::Op(bind)
- QAST::Var(attribute $!do)
- QAST::WVal(Block)
- QAST::WVal(Code)
- QAST::BVal(2)
- QAST::Stmts
- QAST::Op(bind)
- QAST::Var(attribute $!do)
- QAST::WVal(Block)
- QAST::WVal(Code)
- QAST::BVal(3)
- QAST::Op(bindcurhllsym)
- QAST::SVal(GLOBAL)
- QAST::WVal(GLOBAL)
[load]
- QAST::Op(call)
- QAST::BVal(4)
[children]
- QAST::Block(:cuid(4)) :in_stmt_mod<?> loop { $_ = 42; when 42 { my $a = 10 } }
- QAST::Var(local __args__ :decl(param))
- QAST::Stmts loop { $_ = 42; when 42 { my $a = 10 } }
- QAST::Op(call)
- QAST::Block(:cuid(3) :blocktype(declaration_static)) :outer<?> :in_stmt_mod<?> :code_object<?> :IN_DECL<mainline>
- QAST::Stmts loop { $_ = 42; when 42 { my $a = 10 } }
- QAST::Var(lexical $¢ :decl(contvar))
- QAST::Var(lexical $! :decl(contvar))
- QAST::Var(lexical $/ :decl(contvar))
- QAST::Var(lexical $_ :decl(contvar))
- QAST::Var(lexical GLOBALish :decl(static))
- QAST::Var(lexical EXPORT :decl(static))
- QAST::Var(lexical $?PACKAGE :decl(static))
- QAST::Var(lexical ::?PACKAGE :decl(static))
- QAST::Var(lexical $=finish :decl(static))
- QAST::Stmts
- QAST::Var(lexical $=pod :decl(static))
[value]
-
- QAST::Var(lexical !UNIT_MARKER :decl(static))
- QAST::Block(:cuid(2) :blocktype(raw)) <sunk> :statement_id<1> :outer<?> :in_stmt_mod<?> :handlers<?> :code_object<?> { $_ = 42; when 42 { my $a = 10 } }
- QAST::Op(die_s)
- QAST::SVal(INTERNAL ERROR: Execution of block eliminated by optimizer)
- QAST::Stmts
- QAST::Var(local pres_topic__1 :decl(var))
- QAST::Stmts
- QAST::Op(bind)
- QAST::Var(local ctxsave :decl(var))
- QAST::Var(contextual $*CTXSAVE)
- QAST::Op(unless)
- QAST::Op(isnull)
- QAST::Var(local ctxsave)
- QAST::Op(if)
- QAST::Op(can)
- QAST::Var(local ctxsave)
- QAST::SVal(ctxsave)
- QAST::Op(callmethod ctxsave)
- QAST::Var(local ctxsave)
- QAST::Stmts
- QAST::WVal(Array)
- QAST::Stmts <sunk> loop { $_ = 42; when 42 { my $a = 10 } }
- QAST::Op(while) <sunk> :statement_level<?> :statement_id<1> loop { $_ = 42; when 42 { my $a = 10 } }
- QAST::IVal(1)
- QAST::Stmts(:resultchild(1)))
- QAST::Op(bind)
- QAST::Var(local pres_topic__1)
- QAST::Var(lexical $_)
- QAST::Op(handle) <sunk>
- QAST::Stmts <sunk> $_ = 42; when 42 { my $a = 10 }
- QAST::Stmt <sunk> $_ = 42
- QAST::Op(p6assign) :statement_id<2>
- QAST::Var(lexical $_) <wanted> $_
- QAST::Want <wanted> 42
- QAST::WVal(Int)
- Ii
- QAST::IVal(42) 42
- QAST::Stmt <sunk final> when 42 { my $a = 10 }
- QAST::Want <sunk>
- QAST::Op(if) <sunk> :statement_id<3> when 42 { my $a = 10 }
- QAST::Op(callmethod ACCEPTS)
- QAST::Want <wanted> 42
- QAST::WVal(Int)
- Ii
- QAST::IVal(42) 42
- QAST::Var(lexical $_) <wanted>
- QAST::Op(handle) <sunk>
- QAST::Op(callstatic &succeed) <wanted sunk>
- QAST::Block(:cuid(1) :blocktype(immediate)) <wanted> :statement_id<3> :outer<?> :in_stmt_mod<?> :count<?> :code_object<?> { my $a = 10 }
- QAST::Stmts
- QAST::Var(lexical $a :decl(contvar))
- QAST::Var(lexical $_ :decl(var))
- QAST::Op(bind)
- QAST::Var(lexical $_) <wanted>
- QAST::Op(getlexouter) <wanted>
- QAST::SVal($_)
- QAST::Stmt <wanted final> my $a = 10
- QAST::Op(p6assign) :statement_id<4>
- QAST::Var(lexical $a) <wanted sinkok> $a
- QAST::Want <wanted> 10
- QAST::WVal(Int)
- Ii
- QAST::IVal(10) 10
- PROCEED
- QAST::Op(getpayload)
- QAST::Op(exception)
- v
- QAST::Op(p6sink)
- QAST::Op(if) <sunk> :statement_id<3> when 42 { my $a = 10 }
- QAST::Op(callmethod ACCEPTS)
- QAST::Want <wanted> 42
- QAST::WVal(Int)
- Ii
- QAST::IVal(42) 42
- QAST::Var(lexical $_) <wanted>
- QAST::Op(handle) <sunk>
- QAST::Op(callstatic &succeed) <wanted sunk>
- QAST::Block(:cuid(1) :blocktype(immediate)) <wanted> :statement_id<3> :outer<?> :in_stmt_mod<?> :count<?> :code_object<?> { my $a = 10 }
- QAST::Stmts
- QAST::Var(lexical $a :decl(contvar))
- QAST::Var(lexical $_ :decl(var))
- QAST::Op(bind)
- QAST::Var(lexical $_) <wanted>
- QAST::Op(getlexouter) <wanted>
- QAST::SVal($_)
- QAST::Stmt <wanted final> my $a = 10
- QAST::Op(p6assign) :statement_id<4>
- QAST::Var(lexical $a) <wanted sinkok> $a
- QAST::Want <wanted> 10
- QAST::WVal(Int)
- Ii
- QAST::IVal(10) 10
- PROCEED
- QAST::Op(getpayload)
- QAST::Op(exception)
- SUCCEED
- QAST::Op(p6return)
- QAST::Op(p6typecheckrv)
- QAST::Op(getpayload)
- QAST::Op(exception)
- QAST::WVal(Block)
- QAST::WVal(Nil)
- QAST::Op(bind)
- QAST::Var(lexical $_)
- QAST::Var(local pres_topic__1)
- QAST::WVal(Nil)
- QAST::WVal(Nil)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment