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
$
