[svn:parrot] r47879 - trunk/src/call
chromatic at svn.parrot.org
chromatic at svn.parrot.org
Sat Jun 26 20:54:18 UTC 2010
Author: chromatic
Date: Sat Jun 26 20:54:18 2010
New Revision: 47879
URL: https://trac.parrot.org/parrot/changeset/47879
Log:
[pcc] Reordered positional checks by likelihood.
Modified:
trunk/src/call/args.c
Modified: trunk/src/call/args.c
==============================================================================
--- trunk/src/call/args.c Sat Jun 26 20:54:15 2010 (r47878)
+++ trunk/src/call/args.c Sat Jun 26 20:54:18 2010 (r47879)
@@ -879,6 +879,14 @@
/* Go ahead and fill the parameter with a positional argument. */
switch (PARROT_ARG_TYPE_MASK_MASK(param_flags)) {
+ case PARROT_ARG_PMC:
+ *accessor->pmc(interp, arg_info, param_index) =
+ VTABLE_get_pmc_keyed_int(interp, call_object, arg_index);
+ break;
+ case PARROT_ARG_STRING:
+ *accessor->string(interp, arg_info, param_index) =
+ VTABLE_get_string_keyed_int(interp, call_object, arg_index);
+ break;
case PARROT_ARG_INTVAL:
*accessor->intval(interp, arg_info, param_index) =
VTABLE_get_integer_keyed_int(interp, call_object, arg_index);
@@ -887,14 +895,6 @@
*accessor->numval(interp, arg_info, param_index) =
VTABLE_get_number_keyed_int(interp, call_object, arg_index);
break;
- case PARROT_ARG_STRING:
- *accessor->string(interp, arg_info, param_index) =
- VTABLE_get_string_keyed_int(interp, call_object, arg_index);
- break;
- case PARROT_ARG_PMC:
- *accessor->pmc(interp, arg_info, param_index) =
- VTABLE_get_pmc_keyed_int(interp, call_object, arg_index);
- break;
default:
Parrot_ex_throw_from_c_args(interp, NULL,
EXCEPTION_INVALID_OPERATION, "invalid parameter type");
More information about the parrot-commits
mailing list