Skip to content

Instantly share code, notes, and snippets.

@timo
Created April 19, 2015 15:45
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 timo/40ccf1f09f3b94f47f2d to your computer and use it in GitHub Desktop.
Save timo/40ccf1f09f3b94f47f2d to your computer and use it in GitHub Desktop.
is_qast(
QAST::CompUnit.new( :hll<nqp>,
QAST::Block.new(
QAST::Var.new( :name<strloc>, :scope<local>, :decl<var>, :returns(str) ),
QAST::Var.new( :name<strref>, :scope<localref>, :decl<var> ),
QAST::Op.new( :op<bind>,
QAST::Var.new( :name<strref>, :scope<localref> ),
QAST::Var.new( :name<strloc>, :scope<localref> )
),
QAST::Op.new(
:op<assign_s>,
QAST::Var.new( :name<strref>, :scope<local> ),
QAST::SVal.new( :value("hooray") )
),
QAST::Op.new(
:op<list_s>,
QAST::Var.new( :name<strloc>, :scope<local> ),
QAST::Var.new( :name<strref>, :scope<local> )
)
)
),
nqp::list_s("hooray", "hooray"),
"a localref'd var can have a local ref'd thing bound to it and accessed (str)"
);
Spesh of '' (cuid: cuid_21_1429458198.70647, file: <unknown>:1)
Callsite 0x7fba5c3d9520 (0 args, 0 pos)
BB 0 (0x2c27b88):
Instructions:
no_op
Successors: 1
Predeccessors:
Dominance children: 1
BB 1 (0x2c27c00):
Instructions:
getregref_s r2(1), r0(0)
set r1(1), r2(1)
decont r2(2), r1(1)
const_s r3(1), lits(hooray)
assign_s r2(2), r3(1)
bootstrarray r4(1)
create r4(2), r4(1)
const_i64_16 r5(1), liti16(2)
setelemspos r4(2), r5(1)
const_i64_16 r5(2), liti16(0)
setelemspos r4(2), r5(2)
push_s r4(2), r0(0)
decont r6(1), r1(1)
decont r6(2), r6(1)
smrt_strify r3(2), r6(2)
push_s r4(2), r3(2)
return_o r4(2)
Successors:
Predeccessors: 0
Dominance children:
Facts:
r0(0): usages=0, flags=0
r1(0): usages=0, flags=0
r1(1): usages=0, flags=0
r2(0): usages=0, flags=0
r2(1): usages=0, flags=0
r2(2): usages=0, flags=0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment