On Fri, Aug 8, 2008 at 9:12 AM, chromatic <[EMAIL PROTECTED]> wrote: > On Thursday 07 August 2008 23:50:54 [EMAIL PROTECTED] wrote: >> Add a return continuation attribute to the Exception pmc and fill it in the >> throw opcode. >> >> >> Modified: trunk/src/ops/core.ops >> =========================================================================== >>=== --- trunk/src/ops/core.ops (original) >> +++ trunk/src/ops/core.ops Thu Aug 7 23:50:53 2008 >> @@ -816,7 +816,9 @@ >> >> inline op throw(invar PMC) :flow { >> opcode_t * const ret = expr NEXT(); >> - opcode_t * const dest = Parrot_ex_throw_from_op(interp, $1, ret); >> + Parrot_cont * resume = new_ret_continuation_pmc(interp,ret); >> + >> VTABLE_set_attr_str(interp,$1,string_from_literal(interp,"retcont"),resume >>); > > That should be const_string( ... ). Normally it would be CONST_STRING( ... ), > but we don't have that working in .ops files yet (though I realize that would > be reasonably easy to add).
resume must be a PMC * for coherence with the type returned from new_ret_continuation_pmc and the argument taken by Parrot_ex_throw_from_op. Fixed in r30128 -- Salu2