I've the following problem in languages/lua/pmc/luathread.pmc :
when the creation of Parrot::Coroutine
(runtime/parrot/library/Parrot/Coroutine.pir) was :
.local pmc coro
.const .Sub coro_sub = "enumerate_tree"
coro = new 'Parrot::Coroutine', coro_sub
in luathread.pmc, I wrote (translation PIR to C):
void init_pmc(PMC* sub) {
INTVAL type = pmc_type(INTERP,
const_string(INTERP, "Parrot::Coroutine"));
if (type)
PMC_pmc_val(SELF) = pmc_new_init(INTERP, type, sub);
else
real_exception(INTERP, NULL, E_Exception,
"Parrot::Coroutine not found");
}
now, the creation of Parrot::Coroutine becomes (r21929) :
.local pmc coro
.const .Sub coro_sub = "enumerate_tree"
coro_class = get_class 'Parrot::Coroutine'
coro = coro_class.'new'('initial_sub' => coro_sub)
So, how translate it in PMC ?
Thank for help.
François.