Ada_Ru форум

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

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

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

Сообщения

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

Vadim Godunko <vgodunko <at> rostel.ru> writes:

 

этот вопрос не освещён.

 

Смысл освещения этого вопроса в документации

двойственен. С одной

стороны это хорошо, но вот с другой... когда

электродрель попадает в

руки неандертальцу...

 

Это типо отмазка?

 

Вот откуда я знал, как вообще объявлять эти

Intrinsic? Я думал, это будет сделано как

pragma Convention(GCC_Intrinsic, ибо адские

и GCC интринсики не совсем одно и то же, это

раз, во–вторых, альтивековские интринсики

имеют Convention LL_Altivec.

 

 

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

корректности реализации

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

чтение–запись. Однако,

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

процессор. Я

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

барьеры памяти.

 

Это нетривиальный вопрос в целом и любое конкретное

решение будет

порождать столько условных модификаторов, что

лучше оставить вещи как есть.

 

 

А что здесь нетривиального? Вот 2005ая студия для

volatile генерит барьеры. Как есть сейчас в GNAT —

это незаметное нарушение стандарта. На этот раз,

надеюсь, без разночтений.

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

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