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.
signature.asc
Description: Esta parte del mensaje está firmada digitalmente
_______________________________________________ Grub-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/grub-devel
