Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Jan 1999 17:22:01 -0800 (PST)
From:      Steve Kargl <sgk@troutmask.apl.washington.edu>
To:        dillon@apollo.backplane.com (Matthew Dillon)
Cc:        peter.jeremy@auss2.alcatel.com.au, current@FreeBSD.ORG
Subject:   Re: indent(1) and style(9) (was: btokup() macro in sys/malloc.h)
Message-ID:  <199901290122.RAA27878@troutmask.apl.washington.edu>
In-Reply-To: <199901290033.QAA12211@apollo.backplane.com> from Matthew Dillon at "Jan 28, 1999  4:33:12 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
Matthew Dillon wrote:
> :Luigi Rizzo <luigi@labinfo.iet.unipi.it>
> :>not speaking about vinum, but to me, the indentation of 8 char and
> :...
> :
> :According to most of the coding standards I've read, readability
> :(and hence maintainability) come before efficiency.  That said, I
> :agree that efficiency _is_ an issue within the kernel's critical
> :paths (the TCP/IP code being one).
> :
> :Judicious use of inline functions (and macros) should help move
> :code to the left - and may even make it more understandable.
> :
> :Peter
> 
>     More then judicious use -- inlines are an incredible advantage.  Most
>     people don't realize that GCC will optimize constant arguments through
>     an inline call.  Try this:
> 
> static __inline

Matt,

int
fubar(int c)
{
    if (c & 1)
        ++c;
     if (c & 2)
         ++c;
     return(c);
}

void
fubar2(void)
{
    volatile int x;

     x = fubar(0);
     x = fubar(1);
     x = fubar(2);
     x = fubar(3);
}
 
% cc -S -O3 x.c
% cat x.s

fubar2:
        pushl %ebp
        movl %esp,%ebp
        subl $4,%esp
        xorl %eax,%eax		<----- fubar (0)
        movl %eax,-4(%ebp)
        movl $3,-4(%ebp)	<----- fubar (1)
        movl $3,-4(%ebp)	<----- fubar (2)
        movl $4,-4(%ebp)	<----- fubar (3)
        leave
        ret

-- 
Steve

finger kargl@troutmask.apl.washington.edu
http://troutmask.apl.washington.edu/~clesceri/kargl.html

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199901290122.RAA27878>