An update for this ticket post-pdd25cx merge: Attempting to run y.pir (described earlier in this ticket) now produces a segfault. Here's the output on my system as of r30182 in trunk:
$ ./parrot y.pir compiler start reading x.pir into $S0 compiling (but not running) $S0 XYZ::BEGIN src/inter_call.c:253: failed assertion 'PObj_is_PMC_TEST(sig_pmc)' Backtrace - Obtained 31 stack frames (max trace depth is 32). (unknown) Parrot_confess Parrot_init_arg_indexes_and_sig_pmc parrot_pass_args Parrot_Continuation_invoke Parrot_returncc (unknown) (unknown) (unknown) (unknown) Parrot_runops_fromc_args (unknown) (unknown) do_sub_pragmas PackFile_fixup_subs (unknown) (unknown) (unknown) Parrot_NCI_invoke Parrot_invokecc_p (unknown) (unknown) (unknown) (unknown) Parrot_runops_fromc_args Parrot_runcode (unknown) imcc_run (unknown) __libc_start_main (unknown) Aborted $