Re: [PATCH] Improve spinlock inline assembly for x86.
От | Andres Freund |
---|---|
Тема | Re: [PATCH] Improve spinlock inline assembly for x86. |
Дата | |
Msg-id | 417894F3-1BB8-4737-9BBB-2ACF53AAFD6B@anarazel.de обсуждение исходный текст |
Ответ на | Re: [PATCH] Improve spinlock inline assembly for x86. (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: [PATCH] Improve spinlock inline assembly for x86.
|
Список | pgsql-hackers |
On January 18, 2016 7:27:59 PM GMT+01:00, Robert Haas <robertmhaas@gmail.com> wrote: >On Sun, Jan 17, 2016 at 6:38 AM, Andreas Seltenreich ><seltenreich@gmx.de> wrote: >> I'm currently experimenting with just-in-time compilation using >libfirm. >> While discussing issues with its developers, it was pointed out to me >> that our spinlock inline assembly is less than optimal. Attached is >a >> patch that addresses this. >> >> ,---- >> | Remove the LOCK prefix from the XCHG instruction. Locking is >implicit >> | with XCHG and the prefix wastes a byte. Also remove the "cc" >register >> | from the clobber list as the XCHG instruction does not modify any >flags. >> | >> | Reported by Christoph Mallon. >> `---- > >I did a Google search and everybody seems to agree that the LOCK >prefix is redundant. I found a source agreeing with the idea that it >doesn't clobber registers, too: > >http://www.oopweb.com/Assembly/Documents/ArtOfAssembly/Volume/Chapter_6/CH06-1.html#HEADING1-85 > >So I guess it would be safe to change this. Scares me slightly, >though. Clobbers IIRC are implicit on x86 anyway. Rather doubt that the space for the prefix makes any sorry of practical difference,but there indeed seems no reason to have it. Andres --- Please excuse brevity and formatting - I am writing this on my mobile phone.
В списке pgsql-hackers по дате отправления: