[svn:parrot] r41865 - branches/pcc_reapply/src/call

chromatic at svn.parrot.org chromatic at svn.parrot.org
Wed Oct 14 22:47:49 UTC 2009


Author: chromatic
Date: Wed Oct 14 22:47:48 2009
New Revision: 41865
URL: https://trac.parrot.org/parrot/changeset/41865

Log:
[PCC] Swapped a VTABLE call with a macro to set CallSignature's arg_flags in
Parrot_pcc_build_sig_object_from_op(), for a 3.985% performance improvement on
the fib.pir benchmark.

Modified:
   branches/pcc_reapply/src/call/args.c

Modified: branches/pcc_reapply/src/call/args.c
==============================================================================
--- branches/pcc_reapply/src/call/args.c	Wed Oct 14 22:47:40 2009	(r41864)
+++ branches/pcc_reapply/src/call/args.c	Wed Oct 14 22:47:48 2009	(r41865)
@@ -490,7 +490,8 @@
     else
         call_object = signature;
 
-    VTABLE_set_attr_str(interp, call_object, CONST_STRING(interp, "arg_flags"), raw_sig);
+    /* this macro is much, much faster than the VTABLE STRING comparisons */
+    SETATTR_CallSignature_arg_flags(interp, call_object, raw_sig);
 
     for (arg_index = 0; arg_index < arg_count; arg_index++) {
         INTVAL arg_flags = VTABLE_get_integer_keyed_int(interp,


More information about the parrot-commits mailing list