Please lets not go overboard with these types of optimizations.  This could get out of
control quickly. Having code that is easy to read, understand and maintain is -much- 
more
important than saving a a few extra cycles.

Bill

----- Original Message -----
From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, April 24, 2002 10:31 AM
Subject: cvs commit: httpd-2.0/server core.c


> gregames    02/04/24 07:31:28
>
>   Modified:    server   core.c
>   Log:
>   default_handler: short circuit the method checks.  Move the code to deal
>   with unusual methods to the end of function to reduce i-cache clutter.
>
>   Revision  Changes    Path
>   1.171     +13 -11    httpd-2.0/server/core.c
>
>   Index: core.c
>   ===================================================================
>   RCS file: /home/cvs/httpd-2.0/server/core.c,v
>   retrieving revision 1.170
>   retrieving revision 1.171
>   diff -u -r1.170 -r1.171
>   --- core.c 22 Apr 2002 08:08:38 -0000 1.170
>   +++ core.c 24 Apr 2002 14:31:28 -0000 1.171
>   @@ -3167,18 +3167,8 @@
>            return errstatus;
>        }
>
>   -    if (r->method_number == M_INVALID) {
>   -        ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, 0, r,
>   -                      "Invalid method in request %s", r->the_request);
>   -        return HTTP_NOT_IMPLEMENTED;
>   -    }
>   -
>   -    if (r->method_number == M_OPTIONS) {
>   -        return ap_send_http_options(r);
>   -    }
>   -
>        if (r->method_number != M_GET && r->method_number != M_POST) {
>   -        return HTTP_METHOD_NOT_ALLOWED;
>   +        goto unusual_method;
>        }
>
>        if (r->finfo.filetype == 0) {
>   @@ -3248,6 +3238,18 @@
>        APR_BRIGADE_INSERT_TAIL(bb, e);
>
>        return ap_pass_brigade(r->output_filters, bb);
>   +
>   +unusual_method:
>   +    if (r->method_number == M_INVALID) {
>   +        ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, 0, r,
>   +                      "Invalid method in request %s", r->the_request);
>   +        return HTTP_NOT_IMPLEMENTED;
>   +    }
>   +
>   +    if (r->method_number == M_OPTIONS) {
>   +        return ap_send_http_options(r);
>   +    }
>   +    return HTTP_METHOD_NOT_ALLOWED;
>    }
>
>    static int net_time_filter(ap_filter_t *f, apr_bucket_brigade *b,
>
>
>
>

Reply via email to