[COMMITTERS] pgsql: Use more of gcc's __sync_fetch_and_xxx builtin functions forato
В списке pgsql-committers по дате отправления:
| От | Tom Lane |
|---|---|
| Тема | [COMMITTERS] pgsql: Use more of gcc's __sync_fetch_and_xxx builtin functions forato |
| Дата | |
| Msg-id | E1dpexV-0002qO-I3@gemulon.postgresql.org обсуждение исходный текст |
| Список | pgsql-committers |
Use more of gcc's __sync_fetch_and_xxx builtin functions for atomic ops. In addition to __sync_fetch_and_add, gcc offers __sync_fetch_and_sub, __sync_fetch_and_and, and __sync_fetch_and_or, which correspond directly to primitive atomic ops that we want. Testing shows that in some cases they generate better code than our generic implementations, so use them. We've assumed that configure's test for __sync_val_compare_and_swap is sufficient to allow assuming that __sync_fetch_and_add is available, so make the same assumption for these functions. Should that prove to be wrong, we can add more configure tests. Yura Sokolov, reviewed by Jesper Pedersen and myself Discussion: https://postgr.es/m/7f65886daca545067f82bf2b463b218d@postgrespro.ru Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/e09db94c0a5f3b440d96c5c9e8e6c1638d1ec39f Modified Files -------------- src/include/port/atomics/generic-gcc.h | 58 ++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+)
В списке pgsql-committers по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера