Oracle Developer Studio , ранее называвшаяся Oracle Solaris Studio , Sun Studio , Sun WorkShop , Forte Developer и SunPro Compilers , является флагманским продуктом корпорации Oracle для разработки программного обеспечения для операционных систем Solaris и Linux . Он включает в себя оптимизацию компиляторов C, C++ и Fortran , библиотек, а также инструментов анализа производительности и отладки для Solaris на платформах SPARC и x86 и Linux на платформах x86/x64, включая многоядерные системы.
Oracle Developer Studio можно загрузить и использовать бесплатно; однако существует множество обновлений безопасности и функциональности, которые доступны только по контракту на поддержку с Oracle. [3]
В версии 12.4 добавлена частичная поддержка стандарта языка C++11 . [4] Поддерживаются все функции C++11, за исключением параллелизма и атомарных операций, а также определяемых пользователем литералов. Версия 12.6 поддерживает стандарт языка C++14 . [5]
Программный пакет Oracle Developer включает в себя:
Для генерации кода используется общий оптимизирующий бэкэнд.
Используется промежуточное представление высокого уровня, называемое Sun IR , а оптимизация высокого уровня, выполняемая в компоненте iropt (оптимизатор промежуточного представления), выполняется на уровне Sun IR. Основные оптимизации включают в себя:
-xvector=simd
API распараллеливания общей памяти OpenMP является встроенным во все три компилятора.
Tcov — инструмент для анализа покрытия исходного кода и поочередного профилирования, входит в стандартную комплектацию. Tcov генерирует точные подсчеты количества выполнения каждого оператора в программе и аннотирует исходный код для добавления инструментов.
Утилита tcov предоставляет информацию о том, как часто программа выполняет сегменты кода. Он создает копию исходного файла с указанием частоты выполнения. Код может быть аннотирован на уровне базового блока или на уровне исходной строки. Поскольку операторы в базовом блоке выполняются одинаковое количество раз, количество выполнений базового блока равно количеству выполнений каждого оператора в блоке. Утилита tcov не создает никаких данных, основанных на времени.
Компилятор GCC для систем SPARC (GCCFSS) использует интерфейс GNU Compiler Collection (GCC) с серверной частью компилятора Oracle Developer Studio, генерирующей код. Таким образом, GCCFSS может обрабатывать директивы компилятора, специфичные для GCC, а также использовать преимущества оптимизации компилятора в его внутренней части. Это значительно облегчает перенос приложений на базе GCC в системы SPARC.
В GCCFSS 4.2 добавлена возможность использования в качестве кросс-компилятора ; Двоичные файлы SPARC можно создавать на машине x86 (или x64) под управлением Solaris. [8]
До отмены Rock был первым процессором общего назначения, поддерживающим аппаратную транзакционную память (HTM). Компилятор Oracle Developer Studio используется в ряде исследовательских проектов, включая гибридную транзакционную память (HyTM) [9] и поэтапную транзакционную память (PhTM) [10] для изучения поддержки и возможных оптимизаций HTM.
– Источник: [11]