dougm 01/03/04 10:41:33
Modified: src/modules/perl modperl_callback.c
Log:
optimization: copy handler->args onto the stack all at once
Revision Changes Path
1.20 +4 -5 modperl-2.0/src/modules/perl/modperl_callback.c
Index: modperl_callback.c
===================================================================
RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_callback.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- modperl_callback.c 2001/03/03 23:11:37 1.19
+++ modperl_callback.c 2001/03/04 18:41:33 1.20
@@ -287,12 +287,11 @@
}
if (handler->args) {
- I32 i, len = AvFILL(handler->args);
+ I32 items = AvFILLp(handler->args) + 1;
- EXTEND(SP, len);
- for (i=0; i<=len; i++) {
- PUSHs(*av_fetch(handler->args, i, FALSE));
- }
+ EXTEND(SP, items);
+ Copy(AvARRAY(handler->args), SP + 1, items, SV*);
+ SP += items;
}
PUTBACK;
- cvs commit: modperl-2.0/src/modules/perl modperl_callback.c dougm
- cvs commit: modperl-2.0/src/modules/perl modperl_callback.c dougm
- cvs commit: modperl-2.0/src/modules/perl modperl_callback.c dougm
- cvs commit: modperl-2.0/src/modules/perl modperl_callback.c dougm
- cvs commit: modperl-2.0/src/modules/perl modperl_callback.c dougm
- cvs commit: modperl-2.0/src/modules/perl modperl_callback.c dougm
- cvs commit: modperl-2.0/src/modules/perl modperl_callback.c dougm
- cvs commit: modperl-2.0/src/modules/perl modperl_callback.c dougm
- cvs commit: modperl-2.0/src/modules/perl modperl_callback.c dougm
- cvs commit: modperl-2.0/src/modules/perl modperl_callback.c dougm
- cvs commit: modperl-2.0/src/modules/perl modperl_callback.c dougm
- cvs commit: modperl-2.0/src/modules/perl modperl_callback.c dougm
- cvs commit: modperl-2.0/src/modules/perl modperl_callback.c dougm
- cvs commit: modperl-2.0/src/modules/perl modperl_callback.c dougm
