lkml.org 
[lkml]   [2005]   [Jun]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [RFC] cleanup patches for strings
Date
On Tuesday 21 June 2005 09:58, cutaway@bellsouth.net wrote:
> Examine each case individually...
>
> Any code that did a "sizeof(foo)" is [very] likely to give different
> results.
>
> Also, if there are several instances of "foo" being passed around as
> parameter, you may find the generated code gets somewhat worse if "foo" used
> to be a stack based autovar. On x86, the const[] implementation will always
> cause a 5 byte PUSH for a parameter, whereas the autovar pointer
> implementation often will be a shorter 3 byte EBP relative push. With many
> instances of 'foo' usage (or used in a loop), you may be better off paying
> the price of an autovar init during prolog to get the cheaper parm pushes
> later.

But that 3 byte push is fetching data from stack, while 5 byte const push
does not. I ike smaller code, but not _this_ much.

Also this smallish size advantage may be i386-specific only.
--
vda

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-06-21 14:31    [W:0.074 / U:0.248 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site