[svn:parrot] r40711 - branches/pcc_arg_unify/src/call
tene at svn.parrot.org
tene at svn.parrot.org
Sat Aug 22 07:24:14 UTC 2009
Author: tene
Date: Sat Aug 22 07:24:13 2009
New Revision: 40711
URL: https://trac.parrot.org/parrot/changeset/40711
Log:
[pcc] Tweak initialization time to account for the return value of a sub call not being used.
Modified:
branches/pcc_arg_unify/src/call/pcc.c
Modified: branches/pcc_arg_unify/src/call/pcc.c
==============================================================================
--- branches/pcc_arg_unify/src/call/pcc.c Sat Aug 22 07:07:38 2009 (r40710)
+++ branches/pcc_arg_unify/src/call/pcc.c Sat Aug 22 07:24:13 2009 (r40711)
@@ -1351,17 +1351,20 @@
for (return_index = 0; return_index < raw_return_count; return_index++) {
INTVAL return_flags = VTABLE_get_integer_keyed_int(interp,
raw_sig, return_index);
- INTVAL result_flags = VTABLE_get_pmc_keyed_int(interp, caller_return_flags, return_list_index);
+ INTVAL result_flags;
const INTVAL constant = PARROT_ARG_CONSTANT_ISSET(return_flags);
const INTVAL raw_index = raw_returns[return_index + 2];
PMC *result_item = VTABLE_get_pmc_keyed_int(interp, return_list, return_list_index);
- STRING *item_sig = VTABLE_get_string_keyed_str(interp, result_item, CONST_STRING(interp, ''));
+ STRING *item_sig;
/* Gracefully ignore extra returns when error checking is off. */
if (PMC_IS_NULL(result_item))
break; /* Go on to next return arg. */
+ result_flags = VTABLE_get_pmc_keyed_int(interp, caller_return_flags, return_list_index);
+ item_sig = VTABLE_get_string_keyed_str(interp, result_item, CONST_STRING(interp, ''));
+
/* If we're returning into a slurpy, set up a collection to hold the returns */
if (result_flags & PARROT_ARG_SLURPY_ARRAY && filling_slurpy == 0) {
filling_slurpy = 1;
More information about the parrot-commits
mailing list