[svn:parrot] r48082 - trunk/src/call
chromatic at svn.parrot.org
chromatic at svn.parrot.org
Tue Jul 13 22:48:26 UTC 2010
Author: chromatic
Date: Tue Jul 13 22:48:26 2010
New Revision: 48082
URL: https://trac.parrot.org/parrot/changeset/48082
Log:
[pcc] Reordered switch to improve branch predicts.
Modified:
trunk/src/call/args.c
Modified: trunk/src/call/args.c
==============================================================================
--- trunk/src/call/args.c Tue Jul 13 18:46:52 2010 (r48081)
+++ trunk/src/call/args.c Tue Jul 13 22:48:26 2010 (r48082)
@@ -583,15 +583,6 @@
/* Regular arguments just set the value */
switch (type) {
- case 'I':
- VTABLE_push_integer(interp, call_object, va_arg(*args, INTVAL));
- break;
- case 'N':
- VTABLE_push_float(interp, call_object, va_arg(*args, FLOATVAL));
- break;
- case 'S':
- VTABLE_push_string(interp, call_object, va_arg(*args, STRING *));
- break;
case 'P':
{
const INTVAL type_lookahead = sig[i+1];
@@ -617,6 +608,15 @@
: clone_key_arg(interp, pmc_arg));
break;
}
+ case 'S':
+ VTABLE_push_string(interp, call_object, va_arg(*args, STRING *));
+ break;
+ case 'I':
+ VTABLE_push_integer(interp, call_object, va_arg(*args, INTVAL));
+ break;
+ case 'N':
+ VTABLE_push_float(interp, call_object, va_arg(*args, FLOATVAL));
+ break;
case '-':
return call_object;
break;
More information about the parrot-commits
mailing list