This is the mail archive of the libc-help@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]

Question about the highly optimized aspects of libc implementation


Hello everyone!

Please let me apologize at the start if this is the wrong venue to ask
this question.

I've been digging through the glibc implementation and looking for
examples of where compiler directives or hand-written assembly have
been used to improve performance at the "expense" of standards or
conventions.

I know that question seems incredibly vague but I'm struggling to put
it into better terms. I am not necessarily looking for places where
certain functions have been highly optimized (ie, the *cpy functions
for x86) -- I can find those relatively easily in the sysdeps.

Maybe an example will help?

Are there cases where function _a_ calls function _b_ without adhering
to the normal calling convention or the platform ABI because the
implementer knows that only function _a_ will call function _b_ and
knows which registers are dead/preserved/etc?

If any such code fragments exist that you think I would find
interesting, I'd love to get some pointers. Don't worry about
explaining what is going on -- I know everyone is incredibly busy! I
can dig into the code myself. I'm just hoping for the community's
expertise on finding /where/ to look!

Again, I know that everyone is incredibly busy and I hope that this
question did not waste anyone's valuable time.

Thanks in advance for any information that you can provide!

Will Hawkins


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]