grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Endianness macros capitalization


From: Javier Martín
Subject: Re: Endianness macros capitalization
Date: Sun, 06 Jul 2008 22:02:14 +0200

El dom, 06-07-2008 a las 20:30 +0200, Robert Millan escribió:
> On Sun, Jul 06, 2008 at 12:54:58AM +0200, Javier Martín wrote:
> > El sáb, 05-07-2008 a las 17:30 -0400, Pavel Roskin escribió:
> > > They probably should be functions.  We may want to sparse annotate GRUB
> > > one day, and then inline functions in the only way to go.
> > Hmm... you mean changing this
> > 
> > #define grub_swap_bytes16(x)        \
> > ({ \
> >    grub_uint16_t _x = (x); \
> >    (grub_uint16_t) ((_x << 8) | (_x >> 8)); \
> > })
> > 
> > ...for this
> > 
> > inline grub_uint16_t grub_swap_bytes16(uint16_t x)
> > {
> >   return (x << 8) | (x >> 8);
> > }
> 
> I know I get to be annoying about this, but which of these two (plus the
> non-inline version) would result in _smaller_ code?
> 
> Function calls on i386-pc are cheap (because we use the regparm hack), so
> maybe it'd work better using normal functions.
> 
If we are to take the space-saving route, the best we can do is turn
them to functions, maybe even _without_ the "inline" keyword, and GCC
will do what's best.

Attachment: signature.asc
Description: Esta parte del mensaje está firmada digitalmente


reply via email to

[Prev in Thread] Current Thread [Next in Thread]