Re: GCC memory barriers are missing "cc" clobbers

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: GCC memory barriers are missing "cc" clobbers
Дата
Msg-id 20140919101903.GA8435@alap3.anarazel.de
обсуждение исходный текст
Ответ на GCC memory barriers are missing "cc" clobbers  (Andres Freund <andres@2ndquadrant.com>)
Ответы Re: GCC memory barriers are missing "cc" clobbers  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Hi,

On 2014-09-19 12:00:16 +0200, Andres Freund wrote:
> 
> barrier.h defines memory barriers for x86 as:
> 32bit:
> #define pg_memory_barrier()           \
>         __asm__ __volatile__ ("lock; addl $0,0(%%esp)" : : : "memory")
> 64bit:
> #define pg_memory_barrier()        \
>     __asm__ __volatile__ ("lock; addl $0,0(%%rsp)" : : : "memory")
> 
> But addl sets condition flags. So this really also needs a "cc" clobber?
> Or am I missing something?

What I missed is that x86 has an implied "cc" clobber for every inline
assembly statement. So forget that.

Greetings,

Andres Freund

-- Andres Freund                       http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Abhijit Menon-Sen
Дата:
Сообщение: Re: pg_xlogdump --stats
Следующее
От: Amit Kapila
Дата:
Сообщение: Re: Scaling shared buffer eviction