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;
  
  
  

Reply via email to