[PATCH] Remove unnecessary locking when reading iconv configuration [BZ #22062]

Florian Weimer fweimer@redhat.com
Fri Nov 3 14:45:00 GMT 2017


On 11/01/2017 05:36 AM, Carlos O'Donell wrote:
> On 10/30/2017 09:24 AM, Florian Weimer wrote:
>>> -  struct path_elem *result;
>>
>> I think it makes sense to keep the result variable because it can be
>> kept in a register across calls.  In contrast, the global variable
>> has to be reloaded.
> 
> What's the difference between loading the value of the global into result
> (a register or stack local) and then using it, versus using the value of
> the global directly, which gcc will optimize by loading it into a register
> or a pseudo (which may be given a stack slot)?

I doubt GCC will perform the optimization because you call quite a few 
functions for which GCC does not know if they will modify the global or not.

Thanks,
Florian



More information about the Libc-alpha mailing list