Hi everybody,
That was nice to meet many of you in person at YAPC::EU,
I am trying to learn about continuations and Parrot. I hit a
problem of register allocation. I don't know if it is a
miscomprehension from me or a bug. Probably the former.
Apparently P16 is used both for my Perlhash and the Sub.
Below are the beginning of a pdb session and the PIR listing.
--
stef
(pdb) l
1 new_p_ic P16,23
2 newsub_p_ic_ic P16,31,31
.local PerlHash penta2d
.const string str_nm = "U"
.sub _main
new penta2d, .PerlHash
.local Sub sub
.local Continuation cc
newsub sub, .Sub, _mk_one
newsub cc, .Continuation, ret
.pcc_begin prototyped
.pcc_call sub, cc
ret:
.pcc_end
end
.end
.pcc_sub _mk_one
.local int test
exists test, penta2d[str_nm]
invoke P1
.end