This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
On Monday 16 December 2013 11:12:09 Carlos O'Donell wrote:
> On 12/16/2013 09:40 AM, Siddhesh Poyarekar wrote:
> > On Mon, Dec 16, 2013 at 09:32:12AM -0500, Carlos O'Donell wrote:
> >> Maybe, maybe not, but that would be a distinct patch *after*
> >> this initial checkin to make the function distinct.
> >>
> >> I don't want to wrap the elements in a struct because that
> >> breaks the optimizations used during inlining.
> >
> > Yeah, making a struct out of it is pointless. We could clean up the
> > arguments later.
>
> It's not entirely pointless. A pointer to a structure makes the call
> optimal when the ABI requires pass by stack, you need only push a
> single register, and pop a single register before doing register+offset
> loads.
but you still need to create the struct on the stack unless gcc is super
intelligent and lays out the local vars in such a way that it also matches the
struct layout. but that seems pretty fragile to rely upon.
> One question I had was: Why is the original function
> __attribute_noinline__?
the original commit that added this:
commit 021723ab784461de9eac57398ea16a47d4ab9366
Author: Ulrich Drepper <drepper@redhat.com>
Date: Sun Mar 7 05:26:02 2004 +0000
Update.
and the actual diff doesn't indicate a compelling reason.
have i mentioned i fsckin hate the glibc commit history ? current history
sometimes isn't too much better.
-mike
Attachment:
signature.asc
Description: This is a digitally signed message part.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |