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