Ada_Ru форум

Обсуждение языка Ада

Re: Атомарные примитивы

Оставить новое сообщение

Сообщения

Иван Левашев
Re: Атомарные примитивы
2009-10-11 09:00:34

Vasiliy Fofanov writes:

 

 

Интересно, давно это в GNAT компилируется?

 

Да с тех пор как эти билтины были добавлены, то есть на

бэкенде 4.1

если не ошибаюсь. Это версии Pro 6.0 и позже, 3 года назад. Я потому вам свой недоуменный вопрос и задал чего ж вам не

хватает. Но раз "не

проверяли" то дальнейшие вопросы отпали :)

 

Ответы тоже отпали. А зря. В документации, например, здесь:

 

http://www.adacore.com/wp-content/files/auto_update/gnat-unw-

docs/html/gnat_rm_6.html#SEC243

 

этот вопрос не освещён. Поиск Atomic на adacore.com находит,

разве что, одну релевантную новость:

 

http://www.adacore.com/2009/11/02/NF-63-IA16-041-gnat/

 

Круто! Наконец–то!

 

Поиск Intrinsic даёт:

 

http://www.adacore.com/2008/04/24/NF-62-F725-016-gnat/

 

Новость, однако, появилась не 3 года назад (якобы, вместе с фичей). Если, конечно, эта фича действительно появилась раньше новости.

 

Было бы неплохо Ada Gem на эту тему.

 

По–прежнему остаётся открытым вопрос о корректности реализации

pragma Atomic. Стандарт требует соблюдать порядок чтения–записи.

Верю, что компилятор не переупорядочивает чтение–запись. Однако,

если нет lock или ?fence, переупорядочивать может процессор. Я

убеждён, что компилятор должен для Atomic генерить барьеры памяти.

Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти