Oracle Developer Studio , anteriormente denominado Oracle Solaris Studio , Sun Studio , Sun WorkShop , Forte Developer y SunPro Compilers , es el producto de desarrollo de software estrella de Oracle Corporation para los sistemas operativos Solaris y Linux . Incluye compiladores optimizadores de C, C++ y Fortran , bibliotecas y herramientas de análisis y depuración del rendimiento para Solaris en plataformas SPARC y x86, y Linux en plataformas x86/x64, incluidos los sistemas multinúcleo.
Oracle Developer Studio se puede descargar y utilizar sin costo alguno; sin embargo, hay muchas actualizaciones de parches de seguridad y funcionalidad que solo están disponibles con un contrato de soporte de Oracle. [3]
La versión 12.4 agregó compatibilidad parcial con el estándar de lenguaje C++11 . [4] Se admiten todas las características de C++11, excepto las operaciones concurrentes y atómicas, y los literales definidos por el usuario. La versión 12.6 admite el estándar de lenguaje C++14 . [5]
La suite de software Oracle Developer incluye:
Se utiliza un backend de optimización común para la generación de código.
Se utiliza una representación intermedia de alto nivel denominada Sun IR y las optimizaciones de alto nivel realizadas en el componente iropt (optimizador de representación intermedia) se realizan en el nivel de Sun IR. Las optimizaciones principales incluyen:
-xvector=simd
La API de paralelización de memoria compartida OpenMP es nativa de los tres compiladores.
Tcov , una herramienta de análisis de cobertura de código fuente y creación de perfiles declaración por declaración, se ofrece como una utilidad estándar. Tcov genera recuentos exactos de la cantidad de veces que se ejecuta cada declaración en un programa y anota el código fuente para agregar instrumentación.
La utilidad tcov proporciona información sobre la frecuencia con la que un programa ejecuta segmentos de código. Produce una copia del archivo fuente, anotada con frecuencias de ejecución. El código se puede anotar en el nivel de bloque básico o en el nivel de línea fuente. Como las instrucciones de un bloque básico se ejecutan la misma cantidad de veces, el recuento de ejecuciones de bloques básicos es igual a la cantidad de veces que se ejecuta cada instrucción del bloque. La utilidad tcov no produce ningún dato basado en el tiempo.
El compilador GCC para sistemas SPARC (GCCFSS) utiliza el front-end de GNU Compiler Collection (GCC) con el back-end de generación de código del compilador Oracle Developer Studio. Por lo tanto, GCCFSS puede manejar directivas de compilador específicas de GCC, al mismo tiempo que puede aprovechar las optimizaciones del compilador en el back-end del compilador. Esto facilita enormemente la portabilidad de aplicaciones basadas en GCC a sistemas SPARC.
GCCFSS 4.2 agrega la capacidad de usarse como un compilador cruzado ; los binarios SPARC se pueden generar en una máquina x86 (o x64) que ejecute Solaris. [8]
Antes de su cancelación, el Rock habría sido el primer procesador de propósito general que admitiera memoria transaccional de hardware (HTM). El compilador Oracle Developer Studio se utiliza en varios proyectos de investigación, incluidos Hybrid Transactional Memory (HyTM) [9] y Phased Transactional Memory (PhTM), [10] para investigar la compatibilidad y las posibles optimizaciones de HTM.
– Fuente: [11]