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