[perl #59628] Calling 'Parrot_runops_fromc_args*' from within 'Parrot_pcc_invoke*' corrupts return signature
Andrew Whitworth via RT
parrotbug-followup at parrotcode.org
Thu Dec 18 14:32:30 UTC 2008
On Sun Oct 05 02:44:57 2008, allison at perl.org wrote:
> The call to VTABLE_invoke on inter_call.c:2423 correctly dispatches to
> the scalar PMC's 'add' multi with a DEFAULT signature type, and starts
> executing it.
Besides some of the line number changes in that file recently, my trace
follows yours exactly until this point. I get the same failed assertion
that you were getting, but I appear to be getting it for a slightly
different reason after a difference in control flow here. The sub_obj
parameter to Parrot_pcc_invoke_from_sub_object for me is an NCI PMC.
VTABLE_invoke dispatches at this point to Parrot_NCI_invoke which does
some function pointer magic and then calls Parrot_init_arg_op and fails
the type check assertion at src/inter_call.c:390.
This definitely doesn't seem right to me.
--Andrew Whitworth
More information about the parrot-dev
mailing list