Oracle Developer Studio , anteriormente llamado Oracle Solaris Studio , Sun Studio , Sun WorkShop , Forte Developer y SunPro Compilers , es el producto de desarrollo de software insignia de Oracle Corporation para los sistemas operativos Solaris y Linux . Incluye la optimización de compiladores , bibliotecas y herramientas de depuración y análisis de rendimiento de C, C++ y Fortran para Solaris en plataformas SPARC y x86, y Linux en plataformas x86/x64, incluidos sistemas multinúcleo.
Oracle Developer Studio se puede descargar y utilizar sin coste alguno; sin embargo, existen 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ó soporte parcial para el estándar del lenguaje C++11 . [4] Se admiten todas las funciones de C++ 11, excepto las operaciones atómicas y de concurrencia, y los literales definidos por el usuario. La versión 12.6 es compatible con el estándar del lenguaje C++14 . [5]
El paquete 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 llamada Sun IR , y las optimizaciones de alto nivel realizadas en el componente iropt (optimizador de representación intermedia) se operan en el nivel Sun IR. Las principales optimizaciones 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, viene como una utilidad estándar. Tcov genera recuentos exactos del número de veces que se ejecuta cada declaración en un programa y anota el código fuente para agregar instrumentación.
La utilidad tcov brinda 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 declaraciones en 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 declaración en el bloque. La utilidad tcov no produce ningún dato basado en el tiempo.
El compilador GCC for SPARC Systems (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, mientras que también puede aprovechar las optimizaciones del compilador en el back-end del compilador. Esto facilita enormemente la migración de aplicaciones basadas en GCC a sistemas SPARC.
GCCFSS 4.2 agrega la capacidad de usarse como compilador cruzado ; Los archivos 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 compatible con la memoria transaccional de hardware (HTM). El compilador Oracle Developer Studio es utilizado por una serie de proyectos de investigación, incluyendo Hybrid Transactional Memory (HyTM) [9] y Phased Transactional Memory (PhTM), [10] para investigar el soporte y posibles optimizaciones de HTM.
– Fuente: [11]