Author: Whiteknight
Date: Sun Nov 30 08:35:54 2008
New Revision: 33373
Modified:
branches/call_conv_redux/src/inter_call.c
Log:
[call_conv_redux] update count_signature_elements
Modified: branches/call_conv_redux/src/inter_call.c
==============================================================================
--- branches/call_conv_redux/src/inter_call.c (original)
+++ branches/call_conv_redux/src/inter_call.c Sun Nov 30 08:35:54 2008
@@ -1997,13 +1997,23 @@
break;
case 'P':
arg_ret_cnt[seen_arrow]++;
- max_regs[seen_arrow * 4 + REGNO_PMC]++;
+ {
+ /* Lookahead to see if PMC is marked as invocant */
+ if (*(++x) == 'i') {
+ max_regs[REGNO_PMC]++;
+ }
+ else {
+ x--; /* Undo lookahead */
+ max_regs[seen_arrow * 4 + REGNO_PMC]++;
+ }
+ }
break;
case 'f':
case 'n':
case 's':
case 'o':
case 'p':
+ case 'i':
break;
default:
Parrot_ex_throw_from_c_args(interp, NULL,